intなどのプリミティブ型のハッシュコードは何ですか?
たとえば、numが整数だったとしましょう。
int hasCode = 0;
if (num != 0) {
hasCode = hasCode + num.hashCode();
}
Integer.class
ソースコードから取得:
/**
* Returns a hash code for this {@code Integer}.
*
* @return a hash code value for this object, equal to the
* primitive {@code int} value represented by this
* {@code Integer} object.
*/
public int hashCode() {
return value;
}
value
整数の値はどこにありますか。
最も自然な選択は、それ自体を使用するhashCode
ことです。より良い質問は、サイズのハッシュコードに適合しないため、のに何を使用するかです。そのための最良の情報源、および関連するすべての質問は、EffectiveJavaです。int
int
hashCode
long
int
hashCode
hashCode()
使用可能なプリミティブ型のメソッドはありませんint
。
Integer
ラッパークラスタイプでありhashcode()
、int
このjava.lang.Integer.hashCode()
メソッドは、のプリミティブ値のハッシュコード値を返しますがint
、オブジェクトとして表されInteger
ます。
/**
* Returns a hash code value for an Integer,
* equal to the primitive int value it represents.
*/
public class IntegerDemo {
public static void main(String[] args){
Integer i = new Integer("20");
System.out.println("Value = " + i.hashCode());
}
}`
結果:
値=20
ソースリンク:http ://www.tutorialspoint.com/java/lang/integer_hashcode.htm