嗨我想知道上述比较之间的差异吗?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