Jaxb为列表类型生成此代码:
public List<String> getMyList() {
if (myList == null) {
myList = new ArrayList<String>();
}
return this.myList;
}
我希望它只返回字段而不是初始化。
我该怎么做?
答案 0 :(得分:0)
我遇到了同样的问题。 我在XSD文件中声明一个列表,如下所示:
<xs:element name="parameter" nillable="true" minOccurs="0" maxOccurs="999">
产生的java类的字段声明为:
@XmlElement(nillable = true)
protected List<ServiceType.Parameter> parameter;
但吸气剂:
public List<ServiceType.Parameter> getParameter() {
if (parameter == null) {
parameter = new ArrayList<ServiceType.Parameter>();
}
return this.parameter;
}
我知道JAXB将列表作为引用进行处理,但这显然不支持XSD定义可定义的可选列表的功能,因为列表永远不会返回为空。
有人知道有什么插件可以摆脱可空列表的延迟初始化吗?
致谢