这是不良做法还是任何性能损失,这是检查x不等于null
if( !(x == null) ){
System.out.println("x is not a null value");
}
答案 0 :(得分:6)
执行此操作的常规方法是:
if(x != null){
System.out.println("x is not a null value");
}
检查值是否为空无关紧要!
答案 1 :(得分:4)
如果没有理由这样做,这是不好的做法。在您的示例中,您不清楚为什么要进行检查。一个常见的例子可能是
if (s == null || s.isEmpty()) // if s empty or not set.
或
if (s != null && s.length() > 0)
通常,在需要时执行此操作,在这种情况下,性能并不重要。
通常你会写
if(x != null)
或更好
if (x == null) {
// handle null, assuming this is not empty.
} else {
// handle not null
}
答案 2 :(得分:1)
性能方面它不太可能相关,因为您可以信任编译器来优化它。
这只是一种风格问题。风格总是主观的,但我会说if (x != null)
更简洁,更具可读性。
答案 3 :(得分:1)
if(x != null) is recommended and easy to read "X is not equal to null"
if(!(x == null))无法读作“X不等于null”
答案 4 :(得分:1)
在这里添加最佳做法是做
if(null!= x){
System.out.println(“x不为空”);
}
而不是
if(x!= null){
System.out.println(“x不为空”);
}
我知道在java中无论如何都可以工作,但是这会保存你的其他语言,比如c ++,你可能会意外地为x分配null,例如,
if(x = null){
printf(“x不为空”);
}
答案 5 :(得分:0)
if( !(x == null) ){
System.out.println("x is not a null value");
}
如果condition返回布尔值true,则为false。所以,写上面的内容不会有任何影响。根据上面的代码,你写的条件是“如果不是真的”然后做一些事情!并且正如其他人建议的那样,编写代码if(x != null)
是更好的方式而不是混淆;)