2017-09-19 70 views
0

我們如何必須將int包裝整數與零值進行比較?我們可以使用整數時,int值可以爲空(INT不會允許空):將可空整數與0比較

Integer x; 

兩個選項扔顯示java.lang.NullPointerException:

0 == x;x == 0;

所以,簡單,我們如何比較可以或不可以的整數,是否爲空?

+4

'Integer.valueOf(0).equals(x)的'或'X!= NULL && X == 0' – shmosel

+4

'Objects.equals(X,0)'。 –

回答

2

x是在你的類中的字段,所以當你沒有使它引用任何Integer對象(Integer x = new Integer(7)例如)創建,編譯器爲它爲你null的缺省值對象引用) 。看起來你有這樣的:Integer x = null;

所以比較它只是使用由Integer包裝類實現的equals()方法。

new Integer(0).equals(x) 
+0

你幾乎不應該調用'Integer'構造函數。改用'Integer.valueOf()'。 – shmosel