版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
Think in Java 中设计 equals()
的五条原则
- 自反性。
即x.equals(x)
为 true - 对称性。
若x.equals(y)
为 true,那么y.equals(x)
为 true - 传递性。
若x.equals(y)
为 true 且y.equals(z)
为 true,那么x.equals(z)
也为 true - 一致性。
对于x.equals(y)
,只要判定信息不变,无论比较多少次结果均应相同。 - 若
x != null
为 true,那么x.equals(null)
为 false