@xmlementrefs&@Java中的XmlElementRef注释

@xmlementrefs&@Java中的XmlElementRef注释,java,xml,jaxb,Java,Xml,Jaxb,能给我解释一下你做什么吗 @XmlElementRefs 及 注释在Java中的含义及其用途 编辑: @斯卡夫曼 好吧,假设我有一个这样的收藏 @XmlElementRefs({ @XmlElementRef(name="ElementA", type=ClassA), @XmlElementRef(name="ElementB", type=ClassB) } ) List<Object> items; @xmlementrefs({ @xmlementref

能给我解释一下你做什么吗

@XmlElementRefs

注释在Java中的含义及其用途

编辑: @斯卡夫曼


好吧,假设我有一个这样的收藏

@XmlElementRefs({
    @XmlElementRef(name="ElementA", type=ClassA),
    @XmlElementRef(name="ElementB", type=ClassB) }
)

List<Object> items;
@xmlementrefs({
@xmlementref(name=“ElementA”,type=ClassA),
@xmlementref(name=“ElementB”,type=ClassB)}
)
清单项目;
现在如何访问此列表中的每个元素?以下代码正确吗

for (int j = 0; j < items.size(); ++j) {
    if (items.get(i).getClass().equals(ClassA)) {
        // perform ClassA specific processing:
    } else if (items.get(i).getClass().equals(ClassB)) {
        // perform ClassB specific processing:
    }
}
for(int j=0;j

这是正确的方法吗?是否有更好的方法来执行每个特定于类的处理?我的意思是有没有一种方法可以避免那些
if-else
构造?

这些构造用于注释可以包含各种不同类型的集合。此类列表的java绑定是:

@XmlElementRefs({
   @XmlElementRef(name="ElementA", type=ClassA),
   @XmlElementRef(name="ElementB", type=ClassB)
})
List<Object> items
@xmlementrefs({
@xmlementref(name=“ElementA”,type=ClassA),
@xmlementref(name=“ElementB”,type=ClassB)
})
清单项目

这里,
可以包含
ClassA
ClassB
的任意组合,并且由于不能在
列表
的类型签名中表示,因此必须使用注释来表示它。

好的,假设我有一个这样的集合@xmlementref({@xmlementref(name=“ElementA”,type=ClassA),@xmlementref(name=“ElementB”,type=ClassB)})列表项;现在如何访问此列表中的每个元素?以下代码正确吗?对于(int j=0;jw3.org/2001/XMLSchema instance”/>通常将其与多态性结合使用。ClassA和ClassB都扩展了ClassBase,因此不需要if/else来正确调度处理。
@XmlElementRefs({
   @XmlElementRef(name="ElementA", type=ClassA),
   @XmlElementRef(name="ElementB", type=ClassB)
})
List<Object> items