我正在尝试将如下所示的内容解码到其 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
在我试图解决的这种特定情况下,我需要用该特定类型的新实例替换空标签。例如,在上面,我期望返回一个 new ArrayList () 而不是 null。我知道这听起来违反直觉,但这就是我必须做的才能满足下游代码的要求。
是否有全局修复程序可以解决此类情况。提前致谢。
最佳答案
您可以按如下方式初始化字段以获得所需的行为:
List<StudentFirstNames> studentFirstNames = new ArrayList<StudentFirstNames>;
为了能够区分 null 和空集合,您需要使用 @XmlElementWrapper
注释。
关于java - 将空标签解码到集合的新实例中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25003891/