在java中,有一個(gè)這樣的規(guī)定,就是兩個(gè)相同的對(duì)象(即equals運(yùn)算為true),它們的hash code也必須相同。在Object類(lèi)中有一個(gè)hashCode方法,可以調(diào)用它來(lái)查看對(duì)象的hash code。下面舉例說(shuō)明。
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());
}
}
上例的運(yùn)行結(jié)果為
true
str1.hashCode():96321
str2.hashCode():96321
str3.hashCode():97314
可以看到,str1和str2做equals運(yùn)算時(shí)為true,它們的hash code也是一樣的。