6

intJavaString.hashCode()メソッドが返すことができる最大値と最小値を誰か教えてもらえますか?

4

3 に答える 3

8

String.hashCode ()int以下の式を使用して計算された を返します。

public int hashCode()

この文字列のハッシュ コードを返します。

String オブジェクトのハッシュ コードは次のように計算されます。

s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]

int 演算を使用します。ここで、 は文字列s[i]i番目の文字、nは文字列の長さ、^ はべき乗を示します。(空の文字列のハッシュ値はゼロです。)


最小値と最大値は、以下の定数で見つけることができます。

 System.out.println (java.lang.Integer.MAX_VALUE); //  2147483647
 System.out.println (java.lang.Integer.MIN_VALUE); // -2147483648
于 2012-07-14T00:44:16.720 に答える
3

Java intは4バイトで、符号付き(2の補数)です。-2,147,483,648から2,147,483,647。すべての数値型と同様に、intは他の数値型(byte、short、long、float、double)にキャストできます。非可逆キャストが行われると(たとえば、intからbyteへ)、小さい方の型の長さを法として変換が行われます。

于 2012-07-14T00:46:28.423 に答える
2

ドキュメントから、何かが発生する力は文字列の長さに依存することを考えると(私が知る限り、実質的に無制限です)、最大値と最小値は Integer.MAX_VALUE (2^31 - 1) および Integer.MIN_VALUE (-2^31)、それぞれ。

于 2012-07-14T00:44:03.613 に答える