这是不好的做法还是任何性能损失,这是为了检查 x 不等于 null
if( !(x == null) ){
System.out.println("x is not a null value");
}
这是不好的做法还是任何性能损失,这是为了检查 x 不等于 null
if( !(x == null) ){
System.out.println("x is not a null value");
}
执行此操作的正常方法是:
if(x != null){
System.out.println("x is not a null value");
}
检查值是否不为空没有任何问题!
在没有明确理由的情况下这样做是不好的做法。在您的示例中不清楚您为什么要进行检查。一个常见的例子可能是
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
}
if(x != null) is recommended and easy to read "X is not equal to null"
if(!(x == null)) 不能读作“X 不等于 null”
就性能而言,它不太可能是相关的,因为您可以相信编译器会对其进行优化。
这只是风格问题。风格总是主观的,但我会说if (x != null)
更简洁,更具可读性。
只是在这里添加最佳实践是做
if(null != x) {
System.out.println("x is not null");
}
而不是
if(x != null) {
System.out.println("x is not null");
}
我知道在 java 中无论如何都可以工作,但这会节省你在其他语言中,比如 c++,你可能会不小心将 null 分配给 x,例如,
if(x = null) {
printf("x 不为空");
}
if( !(x == null) ){
System.out.println("x is not a null value");
}
好吧,如果条件返回 false 的布尔值 true。所以,写在上面不会有任何影响。根据上面的代码,你写的条件是“如果不是真的”那么做点什么!并且正如其他人所建议的那样编写代码if(x != null)
是更好的方式和更少的混乱;)