gpt4 book ai didi

java - 对于 minOccurs ="0"的元素到 Java 的 XSD 转换与默认出现的元素不同

转载 作者:行者123 更新时间:2023-12-01 09:03:45 26 4
gpt4 key购买 nike

给定 XSD 文件中的 2 个元素 a 和 b。两者都是 int 类型,但是区别在于 a 有 minOccurs="0" 而 b 没有。因此,现在当从此 XSD 生成 Java 类时,它包含 Integer 类型的 a,而 b 为 int 类型。请解释一下。

<?xml version="1.0" ?>
<xs:complexType name="SearchAB">
<xs:element name="a" minOccurs="0" type="xs:int">
<xs:annotation>`enter code here`
<xs:documentation>a</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="b" type="xs:int">
<xs:annotation>
<xs:documentation>b</xs:documentation>
</xs:annotation>
</xs:element>"
</xs:complexType>

Java 类:

protected Integer a;
protected int b;

最佳答案

情况b
默认情况下,minOccurs="1"maxOccurs="1"。因此,整数元素只有一个(不多也不少),并且可以有效地映射到一个简单的 int

案例一
如果某个元素设置了 minOccurs="0",则它是可选的。然而,在 Java 中,an int cannot be null 。那么您会使用什么值来表示该元素被省略呢?为了处理这种可能性,该值被存储为 Integer 对象,该对象可以null。因此,如果该元素存在,a 变量将具有整数值。否则,它被设置为 null 以表示省略的元素。

关于java - 对于 minOccurs ="0"的元素到 Java 的 XSD 转换与默认出现的元素不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41457008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com