这是关于“+”运算符返回的结果的差异。结果因字符串文字和字符串对象而异。
String str="ab";
String str1="c";
String str2 = "ab"+"c"; // Line 3
String str3 = "abc";
String str4 = str+str1; // Line 5
System.out.println(str2==str3); // True
System.out.println(str2==str4); // False
根据结果,我们可以推断,使用字面量,从字符串池中返回已经可用的对象,就像第 3 行的情况一样,使用字符串对象返回新的对象,就像第 5 行一样。为什么会这样?