需要使用primirive int字段生成实体类。但像这样的xml字符串
<xs:element name="RetriesCount" type="xs:int" minOccurs="0" default="2"/>
生成具有名为'retriesCount'的整数字段的类。使用xs:integer
会导致使用BigInteger类型的'retriesCount'字段生成。有没有解决方案来生成简单的Java int?
答案 0 :(得分:4)
由于您的架构显示minOccurs="0"
,因此JAXB必须使用能够表示null
值的类型,这就是它使用Integer
的原因。如果您可以将架构更改为minOccurs="1"
,则可以使用int
代替。
请注意,default="2"
并不一定符合您对XML的期望。特别是,如果 指定了RetriesCount
元素,则绑定属性将仅采用默认值,但该元素没有值(即<RetriesCount />
或等效<RetriesCount></RetriesCount>
)。如果RetriesCount
元素完全不存在,则属性值将为null
。