1. ホーム
  2. java

hashCode()がオーバーライドされていない場合、オブジェクトのハッシュコードはどうなりますか?

2023-08-26 03:15:14

質問

hashCode()メソッドがオーバーライドされていない場合、Javaで任意のオブジェクトに対してhashCode()を呼び出した結果はどうなりますか?

どのように解決するのですか?

通常、hashCode()はオーバーライドしない場合、メモリ上のオブジェクトのアドレスを返すだけです。

から 1 :

合理的に実用的である限り、Objectクラスで定義されたhashCodeメソッドは、異なるオブジェクトのために異なる整数を返します。(これは通常、オブジェクトの内部アドレスを整数に変換することで実装されますが、この実装手法はJavaTMプログラミング言語では必須ではありません)。