- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:hashCode)
ObjectのhashCodeの生成規則について
このQ&Aのポイント
- ObjectのhashCodeはどのような規則で生成されているのかについて調べました。
- マルチスレッドでオブジェクトの生成順番を変えてもhashCodeは同じになることを確認しました。
- オブジェクトの生成順番とhashCodeの関係について説明しています。
- みんなの回答 (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()
お礼
ご回答ありがとうございます。 googleでばかり探していて、肝心のjavadocに目を通していませんでした。 > hashCodeを意識するようなプログラミングは避けるべきでしょう。 なるほど、承知いたしました。