2015-07-20 143 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 
相关问题