Possible Duplicate:
XJC Generating Integer Instead of int
需要生成具有原始 int 字段的实体类。但是xml字符串是这样的
<xs:element name="RetriesCount" type="xs:int" minOccurs="0" default="2"/>
生成带有名为“retriesCount”的整数的类。使用xs:integer
导致生成 BigInteger 类型的“retriesCount”字段。有没有办法生成一个简单的Java int?
最佳答案
因为你的架构显示 minOccurs="0"
,JAXB 必须使用能够表示 null
的类型。值,这就是它使用 Integer
的原因。如果您可以将架构更改为 minOccurs="1"
它将能够使用int
相反。
请注意 default="2"
不一定能实现您在 XML 中所期望的功能。特别是,如果存在 RetriesCount
,则绑定(bind)属性只会采用默认值。指定的元素,但该元素没有值(即 <RetriesCount />
或等效的 <RetriesCount></RetriesCount>
)。如果RetriesCount
元素完全不存在,属性值为 null
.
关于XSD 中的 Java int 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12160210/