【Effective Java 10.5】覆盖 equals 时请遵守通用约定 —— 非空性

非空性(Non-Nullity)—— 所有的对象都不能等于 null。

实际上覆写 equals 时不需要显式地检查类型,因为在 instanceof 执行该判断,

public boolean equals(Object o) {
    if (!(o instanceof MyType)) {
        // 如果 o == null, o instanceof MyType 会直接返回 false
        return false;
    }
    MyType mt = (MyType) o;
    // ...
}

posted on 2022-04-02 20:09  Silgm  阅读(35)  评论(0)    收藏  举报

导航