在生成 .equals() 时,有什么理由更喜欢 getClass() 而不是 instanceof?
我正在使用Eclipse来生成和,并且有一个标有“使用'instanceof'比较类型”的选项。默认设置是取消选中此选项,并用于比较类型。有什么理由我应该更喜欢吗?.equals()
.hashCode()
.getClass()
.getClass()
instanceof
不使用 :instanceof
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
用:instanceof
if (obj == null)
return false;
if (!(obj instanceof MyClass))
return false;
我通常会检查该选项,然后进入并删除“”检查。(这是多余的,因为空对象总是会失败。有什么理由这是一个坏主意吗?instanceof
if (obj == null)
instanceof