以下是什么好处?
private double pro;
pro = Double.NaN;
为什么不成功
pro = 0.0;
吸气剂是:
public double getpro() {
if (Double.isNaN(pro))
somemethod();
return pro;
}
答案 0 :(得分:2)
因为NanN
代表“不是数字”,所以通常暗示该数字尚未初始化。
您可以使用pro = 0.0;
,这样也可以。我认为这个问题更像是一种风格。
答案 1 :(得分:0)
因为对NaN的任何操作都会导致NaN。使用0.0
的操作可能会导致pro
设置为某个值。虽然NaN可用于表示 pro
尚未定义作为您的情况。
Double d =Double.NaN;
System.out.println(d*10);
System.out.println(10/d);
System.out.println(d/10);
System.out.println(d+10);
结果
NaN
NaN
NaN
NaN
而d=0.0
会产生类似
0.0
Infinity
0.0
10.0
答案 2 :(得分:0)
我想在你的情况下,NaN
提示变量pro
未初始化,0.0是有效的初始化值。