【发布时间】:2010-01-27 08:26:06
【问题描述】:
请给我解释一下是怎么做的
@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 构造?
【问题讨论】:
-
你通常将它与多态一起使用。 ClassA 和 ClassB 都扩展了 ClassBase,因此您不需要 if/else 来正确调度处理。