0

这是不好的做法还是任何性能损失,这是为了检查 x 不等于 null

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

6 回答 6

6

执行此操作的正常方法是:

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

检查值是否不为空没有任何问题!

于 2013-01-01T11:10:37.067 回答
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
}
于 2013-01-01T11:11:43.017 回答
1
if(x != null) is recommended and easy to read "X is not equal to null"

if(!(x == null)) 不能读作“X 不等于 null”

于 2013-01-01T11:12:52.797 回答
1

就性能而言,它不太可能是相关的,因为您可以相信编译器会对其进行优化。

这只是风格问题。风格总是主观的,但我会说if (x != null)更简洁,更具可读性。

于 2013-01-01T11:11:10.313 回答
1

只是在这里添加最佳实践是做

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 不为空");
}

于 2013-01-01T12:15:45.147 回答
0
if( !(x == null) ){
System.out.println("x is not a null value");
}

好吧,如果条件返回 false 的布尔值 true。所以,写在上面不会有任何影响。根据上面的代码,你写的条件是“如果不是真的”那么做点什么!并且正如其他人所建议的那样编写代码if(x != null)是更好的方式和更少的混乱;)

于 2013-01-01T11:10:55.383 回答