Ho letto questo Questions about Java's String pool e ho compreso il concetto di base del pool di stringhe ma ancora non capisco il comportamento.Stringa Comportamento pool
Primo: funziona se si assegna direttamente il valore e sia S1 e S2 riferiscono allo stesso oggetto in piscina
String s1 = "a" + "bc";
String s2 = "ab" + "c";
System.out.println("s1 == s2? " + (s1 == s2));
Ma poi se cambio la stringa s1 + = "d", poi la piscina dovrebbe avere un oggetto stringa "abcd"? poi quando cambio s2 + = "d", dovrebbe trovare l'oggetto stringa "abcd" nel pool e dovrebbe assegnare l'oggetto a s2? ma non lo fa e non si riferiscono allo stesso oggetto. Perché?
String s1 = "abc";
String s2 = "abc";
System.out.println("s1 == s2? " + (s1 == s2));
s1 += "d";
s2 += "d";
System.out.println("s1 == s2? " + (s1 == s2));
possibile duplicato di [Domande su Java's String pool] (http://stackoverflow.com/questions/1881922/questions-about-javas-string-pool) – EJP
@EJP Asker menziona proprio questo argomento e dice di no rispondi alle sue domande. – glomad