Java 中的@XmlElementRefs和@XmlElementRef注释

2022-09-04 22:49:02

有人可以向我解释一下该怎么做吗?

@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

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

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

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


答案 2

推荐