String s = "123"; String s1 = s + "abc"; String s2 + = "abc";
Si, se genera un nuevo objeto, puedes hacer una prueba:
String s = "123";
String s1 = s + "abc";
String s2 = s + "abc";
System.out.println(s1 == s2);
El resultado devuelve falso, lo que indica que las referencias de direcciones no están en el mismo lugar.
Razón:
Debido a que s es una variable, no importa que s sea una constante o una variable +, la nueva cadena que obtienes en el código fuente es una nueva cadena, que es Place en la pila. Como es nuevo, no es el mismo objeto.