Possible Duplicate:
XJC Generating Integer Instead of int




需要使用原始int字段生成实体类。但是这样的xml字符串

<xs:element name="RetriesCount" type="xs:int" minOccurs="0" default="2"/>


生成带有名为'retriesCount'的Integer的类。使用xs:integer会生成BigInteger类型的“ retriesCount”字段。有什么解决方案可以生成一个简单的Java int?

最佳答案

因为您的模式为minOccurs="0",所以JAXB必须使用能够表示null值的类型,这就是为什么它使用Integer的原因。如果您可以将架构更改为minOccurs="1",它将可以使用int

请注意,default="2"并不一定能达到XML预期的效果。特别是,如果指定了RetriesCount元素,但该绑定属性没有值(即<RetriesCount />或等效的<RetriesCount></RetriesCount>),则bound属性将仅采用默认值。如果完全缺少RetriesCount元素,则属性值将为null

10-04 19:22