@XmlElementRefs& Java中的@XmlElementRef注释

时间:2010-01-27 08:26:07

标签: java xml jaxb

有些人可以向我解释做什么

@XmlElementRefs

@XmlElementRef

注释在Java中意味着它们的用途......

  

修改:   @skaffman

好吧,假设我有一个这样的集合

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

List<Object> items;

现在如何访问此列表中的每个元素?以下代码是否正确?

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:
    }
}

这是正确的做法吗?有没有更好的方法来执行每个类特定的处理?我的意思是有办法避免那些if else构造吗?

1 个答案:

答案 0 :(得分:6)

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

@XmlElementRefs({
   @XmlElementRef(name="ElementA", type=ClassA),
   @XmlElementRef(name="ElementB", type=ClassB)
})
List<Object> items

此处items可以包含ClassAClassB的任意组合,由于无法在List的类型签名中表达,因此必须用注释表达。