gpt4 book ai didi

java - 如何判断 JAXB 元素 是否为 "empty"

转载 作者:太空宇宙 更新时间:2023-11-04 07:14:36 25 4
gpt4 key购买 nike

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

<fis:MyRequest/>

通常,对于数据,它可能看起来像这样:

<fis:MyRequest>
<fis:ABC>X</fis:ABC>
<fis:XYZ>6000</fis:XYZ>
</fis:MyRequest>

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

在这种情况下很容易检查

if (myRequest.getAbc() == null && myRequest.getXyz() == null) { ... }

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

我考虑过将 myRequest 元素生成为字符串,并检查它是否是以 /> 结尾的单个标记,但这看起来就像是用大象追逐蚱蜢(换句话说,杀伤力太大了​​)。

是否有一个方便的实用函数可以做到这一点?

提前致谢。

最佳答案

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

MyRequest EMPTY_MYREQYEST = new MyRequest();

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

我看不出这种方法有什么缺点(?)

注意:从 xsd 生成 java 代码时很可能需要 -Xequals-XhashCode 标志

关于java - 如何判断 JAXB 元素 <MyRequest/> 是否为 "empty",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20140530/

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