2015-07-20 168 views

回答

1

列表是通用的。

List<Type> 

這意味着您可以定義哪些元素可以放入列表中。

E.g.

List<String> 

將是一個只包含字符串的列表。

除此之外,您還有通用的JAXBElements。所以你可以定義這個類的構建元素。

JAXBElement<Type> 

然後,你必須在擴展運營商:

<? extends SomeClass> 

這意味着,這JAXBElement的是通用的延伸SomeClass的(或SomeClass的本身)的任何類型。

因此總共有一個List可以接受JAXBElements,而這些Elements可以映射到SomeClass或它的任何子類。

E.g.允許的是:

JAXBElement<SomeClass> element = ... 
name.add(element); 
JAXBElement<ChildOfSomeClass> elementChild = ... 
name.add(elementChild); 

雖然不許可:

JAXBElement<ParentOfSomeClass> elementParent = ... 
name.add(elementParent); //Compile-error 
相關問題