オーバーライドGetHashCode
:オーバーライドの必要な結果Equalsクラス内のメソッドをオーバーライドすると、オーバーライド
Equals
GetHashCode
の重要性
しばしば過小評価されているGetHashCode
メソッドは、平等を決定する上で重要な役割を果たします。 2つのオブジェクトが異なるハッシュコードを生成する場合、メソッドの結果に関係なく、それらはすぐに不平等と見なされます。
本質的な行動一貫性GetHashCode
Equals
メソッドは、これらのルールを順守するメソッドのロジックと一致する必要があります。 2つのオブジェクトが等しい場合(
)、は同じハッシュコードを返しなければなりません。
2つのオブジェクトが同じハッシュコードを持っている場合、それらは必ずしもGetHashCode
等しいとは限りません。これはハッシュ衝突を表し、決定的な平等検証のためにEquals
への呼び出しを促します。
Equals(...) == true
実装
Equals
コードの読みやすさと開発者のエクスペリエンスを強化するには、GetHashCode
およびオペレーターをオーバーライドして、
オーバーライドを補完することも考えてください。
以上が「Gethashcode」をオーバーライドするのに、「等しい」を無効にするのになぜ重要なのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。