私は 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
です。) それが悪い考えである理由はありますか?