1

GetHashCodeメソッドをオーバーライドするときにオーバーライドすることの重要性を認識していますEqualsEquals内部的に を呼び出すと仮定しますGetHashCode

内部で使用されている可能性のある他の方法は何GetHashCodeですか?

4

2 に答える 2

4

Equalsを内部的に呼び出しませんGetHashCode
GetHashCodeは、パフォーマンスを向上させる手段として多くのクラスで使用されています。2 つのインスタンスのハッシュ コードが異なる場合、インスタンスは定義上等しくないため、への呼び出しをEqualsスキップできます。
ハッシュ コードが同じ場合にのみ、 を呼び出す必要がありますEquals。これは、インスタンスが異なっていても、複数のインスタンスが同じハッシュ コードを持つことができるためです。

このように機能するクラスの具体例:

于 2013-08-21T10:55:00.570 に答える