首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何判断JAXB元素是否为“空”

如何判断JAXB元素是否为“空”
EN

Stack Overflow用户
提问于 2013-11-22 08:47:23
回答 1查看 424关注 0票数 1

如何以编程方式判断JAXB元素是否为“空”?

代码语言:javascript
复制
<fis:MyRequest/>

通常,对于数据,它可能如下所示:

代码语言:javascript
复制
<fis:MyRequest>
    <fis:ABC>X</fis:ABC>
    <fis:XYZ>6000</fis:XYZ>
</fis:MyRequest>

但有时它可能是空的,我想用代码隔离这些情况。

在这种情况下,很容易检查。

代码语言:javascript
复制
if (myRequest.getAbc() == null && myRequest.getXyz() == null) { ... }

但想象一下,如果有更多的子元素,这将是不切实际的。

我考虑过将myRequest元素生成为字符串,并检查它是否是以/>结尾的单个标记,但这似乎是使用大象来追赶蚱蜢(换句话说,过度杀戮)。

是否有一个方便的实用功能坐在附近的某个地方这样做呢?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-22 09:43:44

考虑到已经生成了equals()方法(请参见下面的注释),您可以将JAXB元素与相同元素类型的new实例进行比较。

代码语言:javascript
复制
MyRequest EMPTY_MYREQYEST = new MyRequest();

if (myRequest.equals(EMPTY_MYREQUEST)) { ... }

我看不出这种方法有什么坏处(?)

注意:在从xsd生成java代码时,最有可能需要-Xequals-XhashCode标志。

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

https://stackoverflow.com/questions/20140530

复制
相关文章

相似问题

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