覆盖的equals()方法是否需要null检查? (java)

时间:2018-12-18 20:08:03

标签: java null equals

我为一个类编写了一个简单的equals()方法:

@Override
public boolean equals(Object obj) { 
    if(obj instanceof Cl) {
        Cl u = (Cl)obj;
        return u.i == i;
    } else {
        return false;
    }
}

据我所知,如果我想比较类对象是否等于空对象,则由于instanceof会返回false,但是根据我的单班老师,这是一个错误的实现,因为缺少空检查。有人可以为我确认我的理论是否正确吗?

1 个答案:

答案 0 :(得分:0)

我认为不需要null检查,因为在这种情况下,如果obj为null,则不会有任何编译时错误或异常,因为检查if (obj instaceof C1)