java - Java 中的@XmlElementRefs 和@XmlElementRef 注解

标签 java xml jaxb

有人可以给我解释一下吗

@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 可以包含 ClassAClassB 的任意组合,因为这不能在 List 中表示的类型签名,必须用注解来表达。

关于java - Java 中的@XmlElementRefs 和@XmlElementRef 注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2145378/

相关文章:

java - Spring 3.2 Hibernate 没有 Activity 事务

android - 如何将外部 XML 文件检索到 Android 应用程序中

jaxb - Xml Schema/JaxB - 如何在模式中启用空枚举、字符串、整数值而不会出现验证错误?

java - 如果对象等于用户输入,则从 Arraylist 中删除对象,否则仅打印一次

java - 底部的 android 菜单

java - fragment - 错误膨胀

python - 解析服务器有效负载,缺少几个键

java - JAXB 解码错误后文件被阻止的文件

java - 用于从 xml 模式(反向模式)创建 JAXB java 类的工具?

java - testng 类中的 Spring @ContextConfiguration 测试配置每个测试类只创建一次 beans,而不是每个测试