gpt4 book ai didi

java - XML 验证中的 @NotNull 表示 Double

转载 作者:行者123 更新时间:2023-12-02 11:52:20 25 4
gpt4 key购买 nike

我需要使用 JSR-303 注释验证输入中 XML 的结构。因此,我希望我的 XML 包含所有必需的标签,并且如果 XML 标签根本不包含任何值,我会接受。所以必须有所有标签,并且可以为空。

问题是,如果 @NotNull 注释适用于字符串(因此我可以使用没有值的 xml 标签),则对于 Double 变量我无法使用它,因为如果我清空标签,它会返回类似的错误我也删除了标签。

例如:

<extTag>
<myString>Hello</myString> -> @NotNull String myString; -> OK!
</extTag>

<extTag>
<myString></myString> -> @NotNull String myString; -> OK!
</extTag>

<extTag>
-> @NotNull String myString; -> ERROR!
</extTag>

对于 Double,我希望拥有相同的控件,但是当值为 null 时,我收到错误!

<extTag>
<myDouble>12.00</myDouble> -> @NotNull Double myDouble; -> OK!
</extTag>

<extTag>
<myDouble></myDouble> -> @NotNull Double myDouble; -> ERROR!
</extTag>

<extTag>
-> @NotNull Double myDouble; -> ERROR!
</extTag>

我可以使用注释为 Double 变量获得相同的行为 od 字符串吗?

最佳答案

也许您应该使用不同的技术来验证 XML结构,使用 XML Schema Definition (XSD)或使用解析器迭代洞文档。

我认为您对 XML 有点困惑和 Bean 验证,记住 XML商店 String Bean 值的表示,JSR-303 是关于值验证的:

  • 对于 String您有一个空值表示形式:<myString></myString>就可以了,因为相当于这个 "" .

  • 对于 Double没有空表示,所以这个 <myDouble></myDouble>是空值。

关于java - XML 验证中的 @NotNull 表示 Double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47794774/

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