检查是不好的做法!(x == null)

时间:2013-01-01 11:07:52

标签: java

这是不良做法还是任何性能损失,这是检查x不等于null

    if( !(x == null) ){
    System.out.println("x is not a null value");
    }

6 个答案:

答案 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)是更好的方式而不是混淆;)