哪个具有更好的性能:测试 != 空或空 != 测试
请考虑以下两行代码
if (test ! = null)
和
if (null != test)
在性能方面,上述两种说法有什么区别吗?我见过很多人使用后者,当被问到时,他们说这是一个没有充分理由的最佳实践。
请考虑以下两行代码
if (test ! = null)
和
if (null != test)
在性能方面,上述两种说法有什么区别吗?我见过很多人使用后者,当被问到时,他们说这是一个没有充分理由的最佳实践。
没有区别。
第二个仅仅是因为C / C++程序员总是做分配而不是比较。
例如:
// no compiler complaint at all for C/C++
// while in Java, this is illegal.
if(a = 2) {
}
// this is illegal in C/C++
// and thus become best practice, from C/C++ which is not applicable to Java at all.
if(2 = a) {
}
而java编译器将生成编译错误。
因此,我个人更喜欢第一个,因为可读性,人们倾向于从左到右阅读,阅读为而不是.if test is not equal to null
null is not equal to test
它们是完全相同的。第二个在使用等于时是有意义的:
if("bla".equals(test))
永远不能抛出一个辟:NullPointerException
if(test.equals("bla"))
能。