我有一个案例,我只需要传递非空值而不是将空字符串传递给存储库。
对于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)。
最好的方法是什么?
答案 0 :(得分:0)
如果我正确理解了您的问题,则您不希望将null
值保留在数据库中。
由于Float
,Boolean
等对象的默认设置为null
,您必须回退到相应基元的默认值,例如:{{1 } 0.0f
,float
false
等等......
另一种方法是定义您自己的默认值。就像你已经说boolean
"NULL_VALUE"
String
可能不是那么糟糕,因为没有其他选择。