位置:首頁 > Java技術 > java.lang > java.lang.String.hashCode()方法實例

java.lang.String.hashCode()方法實例

java.lang.String.hashCode() 方法返回該字符串的哈希碼。對於String對象的哈希碼的計算方法為:

s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] 其中,s[i]為字符串的第i個字符,n是字符串的長度,^表示求冪

聲明

以下是java.lang.String.hashCode()方法的聲明

public int hashCode()

參數

  • NA

返回值

此方法返回該對象的哈希碼值。

異常

  • NA

例子

下麵的例子顯示java.lang.String.hashCode()方法的使用。

package com.yiibai;

import java.lang.*;

public class StringDemo {

  public static void main(String[] args) {
  
    Integer i = new Integer(50);
    Long l = new Long(50);
    Float f = new Float(50);
    Integer i2 = new Integer(0);
    
    // hash codes of different objects with same value are always same
    System.out.println("Hash code of " + i + " is =  " + i.hashCode());
    System.out.println("Hash code of " + l + " is =  " + l.hashCode());
  
    // hash code for float value i.e different from Integer and Long
    System.out.println("Hash code of " + f + " is =  " + f.hashCode());    
        
    // hash code value of number zero(0) is zero(0)
    System.out.println("Hash code of " + i2 + " is = " + i2.hashCode());

    String str = "this is yiibai";
    
    // hash code of string str
    System.out.println("Hash code of string is = " + str.hashCode());
  }
}

讓我們編譯並運行上述程序,這將產生以下結果:

Hash code of 50 is = 50
Hash code of 50 is = 50
Hash code of 50.0 is = 1112014848
Hash code of 0 is = 0
Hash code of string is = 643938959