哈希碼值爲什麼相同?哈希碼值相同
public static void main(String args[])
{
String s1="abc";
String s2=new String("abc");
System.out.println("Hashcode s1-:"+ s1.hashCode());
System.out.println("Hashcode s2-:"+ s2.hashCode());
if(s1==s2){
System.out.println("==true:");
}
}
輸出
Hashcode s1-:96354
Hashcode s2-:96354
因爲字符串是相同的。 – 2013-03-18 09:27:51
在這裏看到更多的信息http://stackoverflow.com/questions/785091/consistency-of-hashcode-on-a-java-string – 2013-03-18 09:28:34
@Sudhanshu他呼籲新的String,所以他們不是指同一個對象,因此,爲什麼==返回false。 – DaveJohnston 2013-03-18 09:29:37