覆盖的 equals() 方法需要空检查吗? (java)

Overwritten equals() method requires null check? (java)

我已经为 class:

写了一个简单的 equals() 方法
@Override
public boolean equals(Object obj) { 
    if(obj instanceof Cl) {
        Cl u = (Cl)obj;
        return u.i == i;
    } else {
        return false;
    }
}

据我所知,如果我想比较 class 对象是否等于空对象,这个 returns false 因为 instanceof,但根据我的大学老师的说法,这是一个糟糕的实现,因为缺少空检查。谁能帮我确认一下我的理论是否正确?

我认为,null 检查不是必需的,也不应该存在,因为在这种情况下,如果 obj 是 null,将不会出现任何编译时错误或任何异常,因为支票 if (obj instaceof C1).