Overwritten equals()方法是否需要空检查?(java)



我为一个类编写了一个简单的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)

相关内容

  • 没有找到相关文章

最新更新