在java中,有一個這樣的規定,就是兩個相同的對象(即equals運算為true),它們的hash code也必須相同。在Object類中有一個hashCode方法,可以調用它來查看對象的hash code。下面舉例說明。
代碼如下:
package test;
public class Test {
public static void main(String args[]){
String str1 = "aaa";
String str2 = str1;
String str3 = "bbb";
System.out.println(str1.equals(str2));
System.out.println("str1.hashCode():"+str1.hashCode());
System.out.println("str2.hashCode():"+str2.hashCode());
System.out.println("str3.hashCode():"+str3.hashCode());
}
}
上例的運行結果為
代碼如下:
true
str1.hashCode():96321
str2.hashCode():96321
str3.hashCode():97314
可以看到,str1和str2做equals運算時為true,它們的hash code也是一樣的。