私は Eclipse を使用して と を生成.equals()し.hashCode()ています。「型を比較するには 'instanceof' を使用する」というオプションがあります。デフォルトでは、このオプションはチェックされておらず、.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)」チェックを外します。( null オブジェクトは常に失敗するため、冗長instanceofです。) それが悪い考えである理由はありますか?