Riguarda la differenza nel risultato restituito dall'operatore '+'. Il risultato varia per String letterale e String Object.+ Operatore nella stringa Classe
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
Con il risultato si può dedurre che con letterale, oggetto già disponibili dal pool di stringa viene restituito come nel caso della linea 3 e con la stringa di oggetto nuovo oggetto viene restituito, come in linea 5. Perché è così ?
Stavo confrontando l'uguaglianza referenziale in questo caso. – Prashant
+1, voglio anche sapere il motivo, anche se presumo che sia perché si assegnano stringhe letterali 1-4 e si fa concatenazione in str4 Non sono sicuro se ci sia un altro motivo. – Thihara