1

我已经看到两种方式都进行了空检查:

if(object!=null)

if(null!=object)

一个真的比另一个更好还是只是偏好?我的偏好是第一个。

4

3 回答 3

1

这对编译器没有任何影响,因为 white != 和 == 顺序无关紧要。但是,我和大多数其他人会说,做 object != null 更有意义。这被读作“如果对象不为 null”,这是有道理的,而 null != object 被读作“如果 null 不等于对象”,这没有多大意义。

于 2013-06-15T01:09:06.420 回答
0

我不相信它有任何技术差异。

关于可读性,我认为前者(“如果 myObject 不等于 null”)比后者(“如果 null 不等于 myObject”)读起来更好。我认为前者更适合英语中常见的主谓宾 (SVO) 类型的句子结构(其中 myObject 是句子的主语,null 是句子的宾语)。

我假设您的代码的主要读者是以英语为母语的人。对于句子结构不同的某些语言,后者可能是一种更合乎逻辑的结构。

于 2013-06-15T01:05:49.857 回答
0

这是比较,其中一个是您将 object 与 null 进行比较,而另一个您将 null 与 object 进行比较。在前者中,它表明对象是更重要的因素,而在后者中,null 更重要。编译器不介意,但这是常识和英语/编程约定。

于 2013-06-15T01:09:16.340 回答