我正在尝试将类似下面的东西解组为它们的JAXB等价物,并且字段按预期填充空值
XML
<University>
<StudentFirstNames/>
</University>
JAXB POJO
public class University {
List<StudentFirstNames> studentFirstNames = null;
public void getStudentFirstNames() {
return studentFirstNames
}
public void setStudentFirstNames() {
this.studentFirsNames = studentFirstNames;
}
}
解组后,当我在JAXB对象中查找成员时,我返回null
university.getStudentFirstNames() --> null
在我尝试解决的这种特定情况下,我需要用该特定类型的新实例替换空标签。例如,在上面,我期待一个新的ArrayList()而不是null。我知道这听起来很反直,但这是我为了满足下游代码所必须做的。
是否有解决此类实例的全局修复程序。提前谢谢。
答案 0 :(得分:2)
您可以按如下方式初始化字段以获得所需的行为:
List<StudentFirstNames> studentFirstNames = new ArrayList<StudentFirstNames>;
为了能够区分空集合和空集合,您需要使用@XmlElementWrapper
注释。