嗨我想知道上述比較之間的差異嗎?null ==對象和對象== null之間的區別
我收到空指針異常,當我檢查object.getItems() == null
。 但如果我將其更改爲null == object.getItems()
,它工作正常。
我看過這個what is the difference between null != object and object!=null 但我沒有得到滿意的答案。
嗨我想知道上述比較之間的差異嗎?null ==對象和對象== null之間的區別
我收到空指針異常,當我檢查object.getItems() == null
。 但如果我將其更改爲null == object.getItems()
,它工作正常。
我看過這個what is the difference between null != object and object!=null 但我沒有得到滿意的答案。
(類似的問題:Which is more effective: if (null == variable) or if (variable == null)?)
空的區別==對象和對象== NULL
沒有語義差別。
object.getItems() == null
和null == object.getItems()
是等同的。
也許你會與事實混合起來是
nonNullObj.equals(obj)
和
obj.equals(nonNullObj)
可以有所作爲(因爲第二個選擇可能會導致情況下,NPE被叫方空)。
不,如果一個NPE被拋出,那個改變不會改變。重新檢查你的假設,因爲這兩個表達式是等價的。 – 2010-06-09 08:22:25
我得到NPE兩種方式。當你嘗試它時,究竟什麼是空的,對象? – 2010-06-09 08:25:21
請發佈完整的Java語句,也許問題只是一個錯位或丟失的括號。 – 2010-06-09 08:27:29