给定xsd文件中的两个元素a和b。两者都是int类型,但区别在于 minOccurs="0"
而b不是。所以现在,当从这个xsd生成一个java类时,它包含一个 Integer
而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;
1条答案
按热度按时间cbeh67ev1#
案例b
默认情况下,
minOccurs="1"
以及maxOccurs="1"
. 因此,只有一个整数元素(不能少也不能多),它可以有效地Map到一个简单的int
.案例a
如果元素已设置
minOccurs="0"
,它是可选的。但是,在java中,int不能为null。那么你会用什么值来表示元素被省略了呢?为了处理这种可能性,该值因此被存储为Integer
对象,可以是null
. 因此,如果元素存在a
变量将具有整数值。否则,设置为null
表示省略的元素。