java-What';这是(obj!=null)和之间的区别!(obj==null)在条件中?
对于Java程序员,我有以下问题java-What';这是(obj!=null)和之间的区别!(obj==null)在条件中?,java,Java,对于Java程序员,我有以下问题 设置(obj!=null)与之间有什么区别吗!(obj==null)?不,没有任何区别。 “不等于”(!=)是sam,因为不等于。不,没有任何区别。 '不等于'(!=)是sam,因为它不等于。这里没有区别!(obj==null)只是另一种书写方式(反向),它也比第一种方式更难理解。这里没有区别,相反!(obj==null)只是另一种书写方式(反向),它也比第一种方式更难理解。没有任何区别(obj!=null)对于大多数人来说更容易阅读。没有任何区别(obj!=n
设置
(obj!=null)
与之间有什么区别吗!(obj==null)
?不,没有任何区别。“不等于”(
!=
)是sam,因为不等于。不,没有任何区别。'不等于'(
!=
)是sam,因为它不等于。这里没有区别!(obj==null)只是另一种书写方式(反向),它也比第一种方式更难理解。这里没有区别,相反!(obj==null)只是另一种书写方式(反向),它也比第一种方式更难理解。没有任何区别(obj!=null)
对于大多数人来说更容易阅读。没有任何区别<代码>(obj!=null)对于大多数人来说更容易阅读。引用:
在运行时,如果操作数值都为null
或都指向同一对象或数组,则=
的结果为true
;否则,结果为false
的结果=如果操作数值都是null
或都指向同一对象或数组,则code>为false
;否则,结果为true
和,它描述了逻辑补码运算符(!
):
在运行时,如有必要,操作数将进行取消装箱转换(§5.1.8)。如果(可能转换的)操作数值为false
,则一元逻辑补码表达式的值为true
;如果(可能转换的)操作数值为true
,则一元逻辑补码表达式的值为false
因此,从评价的角度来看,两者完全相同;但是=代码>更容易阅读。引用:
在运行时,如果操作数值都为null
或都指向同一对象或数组,则=
的结果为true
;否则,结果为false
的结果=如果操作数值都是null
或都指向同一对象或数组,则code>为false
;否则,结果为true
和,它描述了逻辑补码运算符(!
):
在运行时,如有必要,操作数将进行取消装箱转换(§5.1.8)。如果(可能转换的)操作数值为false
,则一元逻辑补码表达式的值为true
;如果(可能转换的)操作数值为true
,则一元逻辑补码表达式的值为false
因此,从评价的角度来看,两者完全相同;但是=代码>更容易阅读。无差异。
此外,有些人更喜欢在进行条件检查时让null
彼此靠近
if(obj1 == null || null == obj2) // looks better to read
...
if(obj1 == null && obj.method()) // have high chances to throw an exception
even if True && this will be checked
if(obj1 == null || obj.method()) // is preferred over the above one
if True || this will be NOT be checked
无差异。
此外,有些人更喜欢在进行条件检查时让null
彼此靠近
if(obj1 == null || null == obj2) // looks better to read
...
if(obj1 == null && obj.method()) // have high chances to throw an exception
even if True && this will be checked
if(obj1 == null || obj.method()) // is preferred over the above one
if True || this will be NOT be checked
简短回答:不。长回答:不。!(obj==null)
比(obj!=null)
更难阅读。前者有点像尤达风格。true
和之间有什么区别吗!错误
?简短回答:否。长回答:不。!(obj==null)
比(obj!=null)
更难阅读。前者有点像尤达风格。true
和之间有什么区别吗!错误
?