摘要: 编写完美equals方法的建议:
1. 显示参数命名为otherObject
2. 测试this同otherObject是否是同一个对象:
if(this == otherObject) return ture;
3. 测试otherObject是否为null。如果是,就返回false。这个测试是必需的:if(otherObject == null) return false;
4. 测试this和otherObject是否属于同一个类。这项测试是“对称性规则”所要求的。 if(getClass() != otherObject.getClass()) return false;
5. 把otherObject的类型转换为你的类型所属的类型。
ClassName other = (ClassName)otherObject;
6. 最后比较所有字段。使用==比较基本类型字段,使用equals比较对象字段。
阅读全文