建议使用哪一个并用于检查Object null-ness?
null != Object
或
Object != null
等方式
null == Object
或
Object == null
......他们之间有什么区别吗?
答案 0 :(得分:5)
(In)平等是可交换的,所以没有区别。
历史上,前者源于C,以避免在条件语句中意外分配值,但这主要适用于==
,而不是!=
。 Java也要求条件语句中的条件具有布尔值,因此现在唯一可能出错的地方是
if (a == false) ...
如果您不小心忽略了=
中的一个。我猜这是一个罕见的案例(尽管可能并非如此,考虑到学生在前两个学期经常写的内容)。 Joonas还在评论中指出了另一个(更加模糊的)案例。
答案 1 :(得分:1)
使用
总是更具可读性Object != null
因为它读作“对象不为空”,这实际上就是条件。 您想要交换两者的唯一情况是避免意外使用
Object = null
当你想说
时,即使它不是理想的行为,它也会返回trueObject == null
但实际上现代工具不仅会捕捉到这些错误,而且反向的广泛使用实际上可能成为任何必须阅读代码的人的障碍。