如何使用类型List<JAXBElement<? extends SomeClassName>>
?
public class Claasname{
protected List<JAXBElement<? extends SomeOtherClassName>> name;
//getter method for this
}
答案 0 :(得分:0)
列表是通用的。
re
这意味着您可以定义允许将哪些元素放入列表中。
E.g。
List<Type>
将是一个只包含字符串的List。
除此之外,您还拥有通用的JAXBElements。因此,您可以定义此类构建的Element。
List<String>
然后你有扩展运算符:
JAXBElement<Type>
这意味着此JAXBElement对任何扩展SomeClass(或SomeClass本身)的类型都是通用的。
所以总共有一个List可以接受JAXBElements,这些元素可以映射到SomeClass或它的任何子类。
E.g。允许的是:
<? extends SomeClass>
虽然不允许,但是:
JAXBElement<SomeClass> element = ...
name.add(element);
JAXBElement<ChildOfSomeClass> elementChild = ...
name.add(elementChild );