是否可以使用 Java XML 绑定编译器 ( xjc )生成代码,该编译器使用空列表而不是 null 来实例化列表成员?
示例:
XSD 文件 FooBar.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://foo.bar"
targetNamespace="http://foo.bar" version="1.0">
<xs:complexType name="FooBar">
<xs:sequence>
<xs:element name="entry" type="xs:string"
maxOccurs="unbounded" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:schema>
使用此文件运行绑定编译器,例如
xjc FooBar.xsd
像这样生成 Java 源代码
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "FooBar", propOrder = {
"entry"
})
public class FooBar {
protected List<String> entry;
public List<String> getEntry() {
if (entry == null) {
entry = new ArrayList<String>();
}
return this.entry;
}
}
条目列表被实例化null
并在 getter 方法中完成空值检查。但是我需要用这样的空列表来实例化 entry mamber:
protected List<String> entry = new ArrayList<String>();
这在某种程度上可以通过定制来实现吗?我怎么没找到?