可能重复:
which way is better “null != object” or “ object != null”?
Why does one often see “null != variable” instead of “variable != null” in C#?
‘ … != null’ or ‘null != …’ best performance?
请指导我。
null!= object和object之间有什么区别!= null
相同的“”.equal(“something”)和“something”.equals(“”)
哪一个有利于处理。
答案 0 :(得分:18)
前两个是等价的,但是“null!= object”是一种旧语言,它可以写入“if(object = null)”并意外地将null赋给对象。这是一个阻止这次事故发生的警卫。
第二个虽然等效有另外的优点,如果“something”为null,你将不会得到一个空引用异常,而如果你做了:你会做:“.equals(”“)。
答案 1 :(得分:4)
语义或性能完全没有区别。
这种情况下的==
是参考不等式运算;它永远不会抛出NullPointerException
。
JLS 15.21.3 Reference Equality Operators == and !=
如果等于运算符的操作数既是引用类型又是null类型,则操作是对象相等。
!=
的结果是false
,如果操作数值都是null
或两者都指向同一个对象或数组;否则,结果为true
。
使用最易读的内容。通常是something != null
。