行番号 3 の代わりに行番号 4 を実行する適切な時期はいつですか? それとも、完全に冗長な呼び出しですか?
1 Object o1 = new Object();
2
3 int hcObj = o1.hashCode();
4 int hcSys = System.identityHashCode(o1);
プレーンObject
の場合、はい、冗長です。hashCode
ただし、オーバーライドされた可能性のある型のインスタンスで、クラスが (参照の等価性に基づいて)デフォルトの実装を使用したい場合がありますhashCode
。
Grepcodeは、これらの呼び出しサイトをリストします。つまり、IdentityHashMap
他のサイトも含めます。