首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Java class @XmlElement(nillable = true)中的变量之前是什么意思?

在Java class @XmlElement(nillable = true)中的变量之前是什么意思?
EN

Stack Overflow用户
提问于 2015-05-20 21:34:43
回答 3查看 674关注 0票数 2

在Java类@XmlElement(nillable = true)中,在变量之前是什么意思。这是否意味着xml中的字段是可选的?例如:@XmlElement(nillable = true) protected String name;

EN

回答 3

Stack Overflow用户

发布于 2015-05-20 21:42:18

nillable是一个XML schema element

nillable:可选。指定是否可以将显式NULL值分配给元素。true使元素的实例可以将null属性设置为True。null属性被定义为实例的XML架构命名空间的一部分。默认值为false。

所以:

代码语言:javascript
运行
复制
@XmlElement(nillable = true) protected String name;

意味着您可以将null赋值给变量name

票数 2
EN

Stack Overflow用户

发布于 2015-05-20 21:39:38

这意味着它将允许字段中的null值。

票数 0
EN

Stack Overflow用户

发布于 2015-05-20 22:15:21

nillable选项表示将使用xsi:nil机制表示null值:

代码语言:javascript
运行
复制
<name xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>

但是JAXB中的一个元素同时是nillable和可选的情况并不常见(@XmlElement有一个required选项,但缺省情况下它是false )。通常,您可以将特定元素标记为普通@XmlElement (不是必需的,因此Java中没有元素)或@XmlElement(nillable = true, required = true) (必需的,因此Java表示带有xsi:nil="true"null元素)。

如果一个元素既是可空的又是可选的,那么它通常必须是一个JAXBElement<String>,而不仅仅是String,以区分缺少的元素( null JAXBElement)和存在但"nil“的元素(一个非空JAXBElement,其isNil()返回true)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30351286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档