JAXB无可选集合

时间:2012-03-13 02:50:11

标签: jaxb

我正在写一个JAXB实体。

public class Person {

    public Collection<String> getNames() {
        if (names == null) {
            names = new ArrayList<String>();
        }
    }

    @XmlElement(required = true)
    private int age;

    @XmlElement(name = "name")
    @XmlElementWrapper(required = true)
    private Collection<String> names;
}

假设我们有以下实例。

final Person person = new Person();
person.setAge(18);

当我整理这个实例时,我得到了

<person>
  <age>18<age>
</person>

这不是我的预期。

只有在我致电getNames()后,才能获得

<person>
  <age>18</age>
  <games/>
<person>

这是正常的吗?

1 个答案:

答案 0 :(得分:1)

将名称设置为构造函数中的新ArrayList,或字段定义中的静态赋值。