有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将双精度值设置为“非值”

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

有时它们被设置为适当的值,有时则没有。当接收表单字段的值未填充时,我希望将它们设置为某个值,该值在代码的其余部分告诉我表单字段为空

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

另外,我不仅不确定这是可能的,也可能没有意义。但是,如果有针对这种情况的最佳实践,我会非常希望听到


共 (1) 个答案

  1. # 1 楼答案

    两个显而易见的选择:

    • 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)