List <jaxbelement <是什么? extends =“”someclassname =“”>&gt;意思?

时间:2015-07-20 12:51:31

标签: java generics jaxb extends

如何使用类型List<JAXBElement<? extends SomeClassName>>

将值设置为类的属性
public class Claasname{
    protected List<JAXBElement<? extends SomeOtherClassName>> name;
    //getter method for this
}

1 个答案:

答案 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 );