应避免以下讨论.这个问题不是:
>使用xs:int而不是xs:integer.
>使用原始int而不是Integer.
>为什么你需要这个.
>如果等你要做什么
题:
我想要一个jaxb绑定声明的示例来覆盖xs:integer到Java BigInteger的默认映射,这样xjc就会生成Java Integer.
例如
<xs:attribute name="id" type="xs:integer"/>
应该产生
@XmlAttribute(name = "id")
Integer id;
并不是
@XmlAttribute(name = "id")
BigInteger id;
最佳答案 您可以将以下内容添加到绑定文件中:
<globalBindings>
<javaType xmlType="xs:integer" name="java.lang.Integer"/>
</globalBindings>
这将产生,例如:
@XmlAttribute(name = "id")
@XmlJavaTypeAdapter(Adapter1 .class)
protected Integer id;
public int getId() {
if (id == null) {
return new Adapter1().unmarshal("0");
} else {
return id;
}
}
public void setId(Integer value) {
this.id = value;
}