Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

至急javaのhashCodeについて説明お願いします!

以下のプログラムについて、細かいところまで説明お願いします。
public int hashCode() {
        final int prime = 31;
        int result = 1;
        long temp;
        temp = Double.doubleToLongBits(this.getYen().getValue());
        result = prime * result + (int) (temp ^ (temp >>> 32));
        return result;

primeとresultかけたものとYen()を足した値をint型32ビットのハッシュ値にしたいのでDouble.doubleToLongBitsでYen()をlong型64ビット値に変換し、temp ^ (temp >>> 32) で上位32ビットと下位32ビットの排他的論理和のXOR演算をして32ビット値にしている。
という風に自分は解釈しているのですが、どうやら間違っているようなので質問させていただきました。
よろしくお願いします。

2

回答

92231

閲覧

2件の回答

評価

10

至急の上、細かいところまでって、掲示板をGoogle検索みた
いなものだと思ってないか?
自分が見ず知らずの人間にそう頼まれても、何も感じない
か?

で、質問については、hashCodeがどうこうということじゃな
く、小学校でやった四則演算の規則を復習しろということに
なりそうなんだが。

評価

10

可能性は色々想像できるのですが情報が不足しているので何
にひっかかっておられるのかわかりません・・・
もう少し回答を絞り込める程度に自分で調べたことを記載し
た方がよいと思います。

「こう思う」ではなくて「これこれをやったらこういう結果
になった」といった事実の説明が不足しているのです。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。