null!=variable
和variable!=null
之间有什么区别
哪种方法最适合使用?
if ((null != value1) || (null != value2) || (null != value3)) {
.......
.......
.......
}
或
if ((value1 != null) || (value2 != null) || (value3 != null)) {
.......
.......
.......
}
请建议最好的一个和这些之间的逻辑变化?
答案 0 :(得分:5)
没有区别。
但人们经常写“abc”.equals(foo)而不是foo.equals(“abc”)来避免零点异常。
答案 1 :(得分:3)
没有什么不同。
出于纯粹的可读性原因,我更喜欢value != null
。
答案 2 :(得分:2)
两种比较方式都是正确的。逻辑上没有区别,但程序员更喜欢使用值!= null。
答案 3 :(得分:1)
正如其他人所提到的那样,没有区别,但我还没有遇到过
的事情null != value2
我总是把它视为value2!= null,就像thihara所说的更容易阅读。 我认为保持它的价值也是好的!对于初学者程序员来说可能会超过一些代码可能会在概念上稍微丢失,即使没有区别。
答案 4 :(得分:1)
null != value
是来自C的保留。在C中,您的代码将以这种方式编译而不会发出警告:
if (variable = null)
(这是一个错误的代码),而你实际上可能意味着if (variable == null)
。
但是在Jave这两种风格都没问题。
答案 5 :(得分:1)
在C赋值中看起来类似于比较:
lvalue = rvalue;
lvalue == rvalue;
可以分配左值(变量)。 rvalues可以是表达式。 Null无法赋值,因此如果你坚持使用null作为比较中的左值,那么编译器将在语句中捕获第二个等号的省略,如
null = rvalue;
您可能会意外地将null指定为:
lvalue = null;