java - 检查 double 值是否为 null(如果 Bean 类中设置了 double 值)

标签 java null double

我创建了一个像这样的 Java bean 类

class BeanDemo
{
private double value;

//getter and setter
}

class myApp
{
BeanDemo beanDemo=new BeanDemo();

int val=7;
if(val<5)
{
   beanDemo.setValue(23.456);
}

double value=beanDemo.getValue(); // Always returns 0.0 if it is not set
System.out.println(value);
}

如何检查该值是否为空?我的意思是,如果未设置,我应该打印其他内容(例如 null)

我无法检查其是否0.0,因为我也可以将该值设置为 0.0。

谢谢

最佳答案

听起来您应该使用 Double (类)而不是 double (基元)。不存在 double 类型的 null 值:

class BeanDemo {
    private Double value;

    public void setValue(Double value) {
        this.value = value;
    }

    public Double getValue() {
        return value;
    }
}

class Test {
    public static void main(String[] args) {
        BeanDemo beanDemo = new BeanDemo();
        int val=7;
        if (val < 5) {
            beanDemo.setValue(23.456);
        }
        Double value = beanDemo.getValue(); // value will be null
        System.out.println(value);
    }
}

请注意,如果您想防止设置一次后再次变为 null,您可以让您的 setter 采用 double 而不是 Double .

关于java - 检查 double 值是否为 null(如果 Bean 类中设置了 double 值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16747391/

相关文章:

c++ - C - 对双变量求和会根据其编写方式给出不同的输出

java - 数学方程中的 Nan

java - 在同一进程中使用 SMSLib 发送多条短信

java - 将现有 JNDI HornetQ 服务设为 HA 的步骤?

java - 到子资源的 REST 映射

java - 寻求FXML/FXMLLoader错误诊断工具

java - 属性在事件处理中变为 null

java - 删除所有具有自定义空值 Java 的元素

fluent-nhibernate - 使用 fluent-nhibernate,是否有约定使一对多关系中的外键列不为空?

c# - 不同类型的不一致溢出检查行为