Strings imutáveis
De Basef
No Java as strings são imutáveis. Observe o código abaixo:
String s = "ABCD"; String s2 = s; s = s.concat("EFGH"); System.out.println(s2);
O código acima irá imprimir o texto "ABCD". Isto acontece porque o concat não altera a string original, ao invés disso, cria uma nova instância de string com os novos dados e a retorna. Portanto, s2 continua apontando para a string antiga.