This question already has answers here:
object==null or null==object?
(11个答案)
2年前关闭。
两者有什么区别?哪一个更好?采访中有人问我。
我能想到的唯一区别是,如果您想执行
(11个答案)
2年前关闭。
两者有什么区别?哪一个更好?采访中有人问我。
我能想到的唯一区别是,如果您想执行
if(null == object)
并忘记添加==
和添加=
,它将不会对您的程序产生任何副作用。但是,如果您在执行if(object = null)
时犯了此错误,则您的程序是敬酒的。 最佳答案
添加到Nayuki's answer中,如果程序员将type = =换为==,例如if(object = null),那么在少数情况下不会出现编译错误并且错误会在代码中蔓延。
例如:if (boolean1 = boolean2)
,首先是一个赋值表达式,然后对if条件求值。另一个有问题的代码是if (wrapperBool = null)
,其中wrapperBool是布尔包装类变量。它将在运行时引发NullPointerException(NPE)。
但是,作为Benny mentioned时,单元测试用例应引起误解。
关于java - if(object == null)v if(null == object)之间的区别? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50226352/