diff --git a/docs/effective-java.md b/docs/effective-java.md index debf702..1e296a1 100644 --- a/docs/effective-java.md +++ b/docs/effective-java.md @@ -881,4 +881,10 @@ public boolean equals(Object o) { 3. **把参数转换成正确的类型**。因为转换之前进行过 instanceof 测试,所以确保会成功。 -4. \ No newline at end of file +4. **对于该类中的每个“关键”域,检查参数中的域与该对象中对应的域相匹配**。 + +5. **当你编写完成了 equals 方法之后,应该问自己三个问题:它是否是对称的、传递的、一致的?**。 + +- **覆盖 equals 时总是要覆盖 hashCode(见第 9 条)**。 +- **不要企图让 equals 方法过于智能**。 +- **不要将 equals 声明中的 Object 对象替换为其他的类型**。 \ No newline at end of file