有人可以给我解释一下吗
@XmlElementRefs
和
@XmlElementRef
注解在 Java 中的含义及其用途..
EDIT: @skaffman
好吧,假设我有一个这样的 Collection
@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
结构?
最佳答案
这些用于注释可以包含各种不同类型的集合。此类列表的 java 绑定(bind)是:
@XmlElementRefs({
@XmlElementRef(name="ElementA", type=ClassA),
@XmlElementRef(name="ElementB", type=ClassB)
})
List<Object> items
在这里,items
可以包含 ClassA
和 ClassB
的任意组合,因为这不能在 List 中表示
的类型签名,必须用注解来表达。
关于java - Java 中的@XmlElementRefs 和@XmlElementRef 注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2145378/