我遇到了一个问题,询问以下输出:
String s1 = "String 1";
String s2 = "String 2";
String s3 = s1 + s2;
String s4 = "String 1" + "String 2";
System.out.println(s3==s4);
输出 -false
现在,由于字符串不是使用 new 运算符创建的,所以对象是在字符串池中创建的,所以按照我的理解s1 + s2
and"String 1" + "String 2"
应该是相等的,s3==s4
应该是true
.
但这并没有真正发生。任何人都可以解释一下吗?