• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:hashCode)

ObjectのhashCodeの生成規則について

このQ&Aのポイント
  • ObjectのhashCodeはどのような規則で生成されているのかについて調べました。
  • マルチスレッドでオブジェクトの生成順番を変えてもhashCodeは同じになることを確認しました。
  • オブジェクトの生成順番とhashCodeの関係について説明しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • PED02744
  • ベストアンサー率40% (157/390)
回答No.1

JDKのJAVADOCを見ればすぐにわかるとおもいますが、 「通常、これはオブジェクトの内部アドレスを整数値に変換する形で実装されます」 とあります。 だから、同じJVMを使って同じだけのメモリ容量でヒープなどパラメータも変更しない状態なら、オブジェクトが生成されるメモリアドレスは変わらないでしょうから、(たまたま)毎回同じになるということでしょう。 また、JAVADOCには続けて「そのような実装テクニックは JavaTM プログラミング言語では不要です」と書かれています。 hashCodeを意識するようなプログラミングは避けるべきでしょう。 http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/lang/Object.html#hashCode()

hekkusyoi
質問者

お礼

ご回答ありがとうございます。 googleでばかり探していて、肝心のjavadocに目を通していませんでした。 > hashCodeを意識するようなプログラミングは避けるべきでしょう。 なるほど、承知いたしました。

関連するQ&A