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