长值为NaN

时间:2017-07-27 06:30:54

标签: java

我有一个案例,我只需要传递非空值而不是将空字符串传递给存储库。

对于Strings,我保持常量“NULL_VALUE”,对于Double和Float,我使用的是NaN。

同样有一种方法可以为Long, Integer and Boolean

保留一些值
public static void main(String... args) {

    Float fVal = Float.NaN;
    System.out.println("Float NaN :" + fVal);

    Double dVal = Double.NaN;
    System.out.println("Double NaN :" + dVal);

//  Integer iVal = Integer.NaN;
//  System.out.println("Integer NaN :" + iVal);

//  Boolean boolVal = Boolean.NaB; // Not a boolean

}

我害怕保留0或一些大的谷(999999999 for int)。

最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,则您不希望将null值保留在数据库中。

由于FloatBoolean等对象的默认设置为null,您必须回退到相应基元的默认值,例如:{{1 } 0.0ffloat false等等......

另一种方法是定义您自己的默认值。就像你已经说boolean "NULL_VALUE" String可能不是那么糟糕,因为没有其他选择。