本帖最后由 刘学 于 2012-8-9 12:45 编辑
public class A {
public static void main(String[] args){
String str1 = new String("qqqq");
String str2 = new String("qqqq");
System.out.println("str1 hashcode = "+str1.hashCode());
System.out.println("str2 hashcode = "+str2.hashCode());
System.out.println("str1.equals(str2) = "+str1.equals(str2));
System.out.println("str1==str2 = "+(str1==str2));
}
}
输出结果为:
hashcode str1 : 3478592
hashcode str2 : 3478592
str1.equals(str2) : true
str1==str2 : false
请问为什么new出得两个对象hashcode会相等?还有为什么hashcode相等了str1==str2 还输出false?
这是我在网上看到的有些不明白。
|