null != something
Java和something != null
Java之间有区别吗?如果有区别,那么我应该使用哪一个,为什么?
7 回答
它可能来自您编写的所谓的 joda-conditions,"bla" == myVariable
而不是myVariable == "bla"
因为它可能碰巧myVariable = "bla"
在某些语言中返回“bla”但也将“bla”分配给 myVariable
null != something
和之间没有区别something != null
。您一定在考虑两者person.getName().equals("john")
的"john".equals(person.getName())
区别:第一个会抛出NullPointerException
if getName()
returns null
,而第二个不会。但这不适用于您的问题示例。
我只想指出,这样做的“尤达条件”基本原理(在 C 和 C++ 等语言中)不适用于这种(Java)案例。
Java 不允许将通用表达式用作语句,因此两者
something == null;
和
null == something;
将是编译错误。
something == null
和的类型something = null
不同;boolean 和一些引用类型。在这种情况下,这意味着两者:if (something = null) { ... }
和
if (null = something) { ... }
将是编译错误。
事实上,我想不出一个现实的例子,哪里null == something
会出现编译错误而something == null
不会。因此,它在防错方面没有任何成就。
从性能上看不会有区别,两边的算子都是执行任何方式的。但是对于更易读的代码,第二个似乎更易读
obj.getSomething().getAnotherThing().doSomething() != null
null != obj.getSomething().getAnotherThing().doSomething()
但是,如果您只想比较变量或参数,则更具可读性
something != null
当然,这取决于读者的感觉。
没有区别,但有些人使用它是为了便于代码的可读性。
在java中,如果我们比较任何东西,我们总是必须将变量放在左侧,而值放在右侧......
它们都是一样的,没有区别。