Это касается разности результатов, возвращаемых оператором «+». Результат варьируется для строкового литерала и объекта String.+ Оператор в классе строк
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. Почему это так ?
Я сравнивал ссылочное равенство в этом случае. – Prashant
+1, я также хочу знать, почему, хотя я предполагаю, что это потому, что вы назначаете литералы строку 1-4 и выполняете конкатенацию в str4. Я не уверен, что theres'a еще одна причина. – Thihara