スキップしてメイン コンテンツに移動

投稿

ラベル(hashCode)が付いた投稿を表示しています

JavaのString#hasCodeの計算方法

Java2のバージョンが1.2以前の場合、Stringオブジェクトの16文字以上の部分はhashCodeの計算に用いられません。そのためhashCodeの衝突が起きやすくなっています。 Java2のバージョンが1.3以降の場合、hashCodeの計算方法が改良され、16文字以上の部分も計算に利用されるようになりました。 BOOLEANLABEL さんの String.hashCode() の変遷 が参考になります。 バージョン1.2以前での衝突するhashCodeのBugレポートが Bug ID: 1258091 String.hashCode() produces the same value for too many unequal strings. にあります。