這是關於'+'運算符返回結果的區別。字符串文字和字符串對象的結果不同。+字符串類中的運算符
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線的情況下,用String對象的新對象返回,在第5行爲什麼會這樣?
我比較引用相等在這種情況下。 – Prashant
+1,我也想知道爲什麼,雖然我認爲這是因爲你正在分配文字字符串1-4並在str4中進行串接,但我不確定這是否是另一個原因。 – Thihara