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かどうかを確認するにはどうすればよいですか? つまり、設定されていない場合は、何か他のものを出力する必要があります( nullなど)

値を0.0に設定できる可能性があるため、 0.0かどうかを確認できません。

ありがとう

4

2 に答える 2

11

(プリミティブ)Doubleではなく(クラス)を使用する必要があるようです。type の値のdoubleようなものはありません:nulldouble

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

一度設定された後に再び設定されるのを防ぎたい場合は、double代わりにセッターを取ることができることに注意してください。Doublenull

于 2013-05-25T07:22:48.117 に答える
7

doubleの代わりにDoubleを使用してください。これはまさにあなたが望むことを行います

于 2013-05-25T07:23:50.623 に答える