【发布时间】:2020-01-30 09:47:51
【问题描述】:
注意:我经历了这些,但没有得到答案Best way to check for null values in Java? 和 (obj == null) vs (null == obj)?
我正在研究这个Android [Java] 官方文档关于Background Tasks -> Run code on a thread pool thread -> Interrupt running code,示例中的null检查代码为:
if (null != thread) {
thread.interrupt();
}
这与我们通常看到/使用的不同:
if (object != null) {
//do something;
}
所以,我的问题是:
如果我们写“null != thread”而不是“thread != null”或者 Google 官方文档只是随机交换操作数而没有任何好处,这有什么不同(比如帮助避免空指针或其他东西)吗?
编辑:
- 我问的是 != 而不是 ==。在 == 的情况下,程序员可以 做赋值(=)而不是比较(==)。但事实并非如此 在 !=。
- 我说的是 Java 而不是 C 语言。所以,那个任务和 比较混淆不适用于此处。
【问题讨论】:
-
这是一个非常奇怪的观察,也是一个非常奇怪的问题 :) 但我认为没有任何区别。
-
注意
==和!=是对称关系,所以顺序没有任何区别。 -
@a_local_nobody 实际上,当我阅读一个由更好的程序员(我的假设是因为作者在这里为谷歌工作)编写的程序时,我看到了任何不同的编码风格,我想知道我可能在做什么错了……
-
@GyroGearless 这可能值得回答:D
-
另请注意,
null != foo的用法有时更受经验丰富的 C 程序员的青睐,在这种情况下,很容易意外写入foo=null(赋值)而不是foo==null(比较)。在 java 中没有严格的理由这样做。
标签: java android if-statement nullpointerexception null