51,410
社区成员
发帖
与我相关
我的任务
分享String s1 = "a";
String s2 = s1 + "b";
String s3 = "a" + "b";
System.out.println(s2 == "ab");
System.out.println(s3 == "ab");
System.out.println(s2 == s3);
System.out.println(s2.hashCode());
System.out.println(s3.hashCode());对于s2和s3,他们的hashCode是相同的,s2 == s3为false,所以s2和s3不是一个对象。我之前一直以为如果两个string的hashcode相同,那么两个对象就相同,现在看来我是打错特错了,求大神讲解一二,以开阔我这狭隘的眼界。另外问一下,对于String s1 = "a";
String s2 = s1 + "b";
String s3 = "a" + "b";到底创建了几个对象?求解