3
我有一种情况,我只需要传递非空值而不是空字符串到存储库。Long值为NaN
对于字符串,我保持常量“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对于int)。
什么是最好的方法?
不,唯一的非null布尔值是true和false。这就是所有可用的。如果你想表示一个“不是真正的价值”的价值,那传统上是'null' *是为什么。因此,您需要将系统的其余部分更改为接受空值,或者在其他地方有更多信息来表示是否将列视为“不是值”。 –
“非空值”,像99.99%的时间没有?^^ – azro
你可以使用Java8'Optional',但这可能不是你想要的 – Lino