XSD 中的 Java int 类型

标签 java xsd jaxb

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/

相关文章:

java - 尝试设置用户输入的 id 时出现 NullPointerException

xml - 为什么人们接受 XSD 需要特定顺序的元素?

java - 使用 RTC API 4 从 ProjectArea 获取流

java - 检查一个 url 中的更新,无需下载整个文件

xml - XML 命名空间的这种用法是否正确?

c# - 在验证方法中使用 .xsd 文件

java - JAXB 包装的通用对象的 Setter 方法从未被调用

java - RestTemplate 无法填充对象

java - JAXB 解码

java - 在java中打印到多个输出文件