fre*_*low 5 java null symmetric equals nullpointerexception
平等应该是对称的,对吗?
Object someObject = new Object();
Object NULL = null;
NULL.equals(someObject) => NullPointerException
someObject.equals(NULL) => false
Run Code Online (Sandbox Code Playgroud)
不让第二种形式抛出 a的理由是什么NullPointerException?
从理论上讲,平等肯定被定义为对称的,但在不存在的对象上也根本没有定义(这就是 null 所代表的)。
因此,任何应用于 null 的行为都同样有效。它可以返回一只活兔子,但仍然不违背平等的理论定义。
在这种情况下,对于 Java 设计者来说,对 null 值调用 equals 应该抛出 NullPointerException 是一个相当合理的实现决策,因为这与对 null 值调用任何其他方法是一致的。
| 归档时间: |
|
| 查看次数: |
1096 次 |
| 最近记录: |