在Java中我這樣做:字符串新()的雜湊碼對象表示相同的值
String s1=new String("USA");
String s2 = new String("Canada");
String s3=new String("Canada");
String s4 = new String("Canada");
String s5=new String("Canada");
System.out.println(s1.hashCode());
System.out.println(s2.hashCode());
System.out.println(s3.hashCode());
System.out.println(s4.hashCode());
System.out.println(s5.hashCode());
Output :
3254818
96801
96801
96801
96801
我的問題:
即使,的哈希碼S2,S3,S4和s5是一樣的,可以說它們是不同的String對象。 因爲我們使用new()來創建s2-s5對象,所以說s2,s3,s4和s5是不同的對象並且它們在字符串池中不共享它們的字符串值(加拿大)是否正確?
s2-s5的哈希碼值相同。這是純粹的共同發病嗎?
請解釋。
https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html詳細信息請參閱hascode的文檔。 – jilen 2014-11-23 02:49:00