如何对使用@XmlElement注释的JAXB字段进行空白检查?

时间:2013-06-18 12:58:33

标签: java web-services java-ee jaxb

我有如下的JAXB类:

public class Sub implements Serializable
{
    @XmlElement(name = "A")
    protected double a;
    @XmlElement(name = "B")
    protected double b;
<getter, setter>

子类是另一个类的一部分:

public class Sup implements Serializable{

    @XmlElement(name = "Sub")    
    private Sub sub;

现在,我想对A和B进行空白检查。

如果我写:

(SupObj.getSub != null){
//BLOCK1
  if(SupObj.getSub().getA() != Double.NaN){
   //BLOCK2
   }
}

并输入为:

 <Sup>
    <Sub>
    <A></A>
    <B>1.2</B>
    <Sub>
</Sup>

控件不会进入EITHER BLOCK1或BLOCK2。

请帮我做黑检查。

2 个答案:

答案 0 :(得分:0)

a类型从double更改为Double

@XmlElement(name = "A")
protected Double a;

并检查a是否为空

if (SupObj.getSub() != null && SupObj.getSub().getA() != null) {
   ...

答案 1 :(得分:0)

<A></A>

遗憾的是,这意味着您传递的是空字符串,而不是 null

参考link