2

我已经创建了一个这样的 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。

谢谢

4

2 回答 2

11

听起来您应该使用Double(类)而不是double(原语)。没有nulltype 的值这样的东西double

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);
    }
}

请注意,如果您想阻止它在设置一次后再次变为,您可以让您的 setterdouble取而代之。Doublenull

于 2013-05-25T07:22:48.117 回答
7

使用 Double 而不是 double,这将完全符合您的要求

于 2013-05-25T07:23:50.623 回答