有些人可以向我解释一下是做什么的
@XmlElementRefs
Run Code Online (Sandbox Code Playgroud)
和
@XmlElementRef
Run Code Online (Sandbox Code Playgroud)
注释在Java中意味着什么是它们的用途..
编辑: @skaffman
好吧,假设我有一个这样的集合
@XmlElementRefs({
@XmlElementRef(name="ElementA", type=ClassA),
@XmlElementRef(name="ElementB", type=ClassB) }
)
List<Object> items;
Run Code Online (Sandbox Code Playgroud)
现在我如何访问此列表中的每个元素?以下代码是否正确?
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:
}
}
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?有没有更好的方法来执行每个类特定的处理?我的意思是有办法避免这些if else结构吗?
这些用于注释可以包含各种不同类型的集合.这种列表的java绑定是:
@XmlElementRefs({
@XmlElementRef(name="ElementA", type=ClassA),
@XmlElementRef(name="ElementB", type=ClassB)
})
List<Object> items
Run Code Online (Sandbox Code Playgroud)
在这里,items可以包含任意组合ClassA和ClassB,而且由于不能在表达List的类型签名,它使用注释来表达.