我为一个类编写了一个简单的equals((方法:
@Override
public boolean equals(Object obj) {
if(obj instanceof Cl) {
Cl u = (Cl)obj;
return u.i == i;
} else {
return false;
}
}
正如我所知,如果我想比较类对象是否等于null对象,由于instanceof,这将返回false,但根据我的大学老师的说法,这是一个糟糕的实现,因为缺少null检查。有人能帮我确认一下我的理论是否正确吗?
我认为,null
检查不是必需的,也不应该存在,因为在这种情况下,如果obj是null
,则不会出现任何编译时错误或任何异常,因为检查if (obj instaceof C1)
。