如何将双值设置为“非值”

时间:2010-06-01 09:06:43

标签: java double undefined

我在一个对象中有两个双数据元素。

有时它们被设置为适当的值,有时则没有。如果没有填写接收它们的值的表单字段,我想将它们设置为某个值,告诉我,在其余代码中,表单字段保留为空。

我无法将值设置为null,因为这会产生错误,是否有某些方法可以使它们“未定义”。

PS。我不仅不确定这是否可行,它可能也没有意义。但如果对于这种情况有一些最佳实践,我会热衷于听到它。

1 个答案:

答案 0 :(得分:48)

两个明显的选择:

  • 使用Double代替double。然后,您可以使用null,但您已经大大改变了所涉及的内存模式。
  • 使用“非数字”(NaN)值:

    double d = 5.5;
    System.out.println(Double.isNaN(d)); // false
    d = Double.NaN;
    System.out.println(Double.isNaN(d)); // true
    

    请注意,对“普通”数字的其他一些操作也可以给你NaN值(例如0除以0)。