在比较两个相同的表达式时,Eclipse会显示警告:
if (1 == 1) -> warning
if (a == a) -> warning
Run Code Online (Sandbox Code Playgroud)
但是,没有显示任何警告null == null(尽管事实null == null总是如此):
if (null == null) -> no warning
Run Code Online (Sandbox Code Playgroud)
这有什么理由吗?
思考这个警告条件试图防止什么是有帮助的。其目的是警告您,您没有比较您想要比较的两个变量,例如由于拼写错误(例如,foo == foo您的意思是foo == booor foo == fpp),或两个文字值(例如1 == 1)。
(当然,比较两个文字值会带来不同的问题 - 结果将始终相同,并且无论如何都应该在代码中简化为true或。)false
null == null不是这个潜在问题的案例。如果您将变量命名为接近“null”的名称,然后错误地写入“null”,则会遇到编译器无法猜测的完全不同的问题。
| 归档时间: |
|
| 查看次数: |
1152 次 |
| 最近记录: |