[Resolvido]Strings inalteráveis - Método e sobrecarga de operador

3 respostas
gRoOve

Estou com uma dúvida referente a imutabilidade de Strings, no código a seguir:

String s1 = "spring ";
String s2 = s1 + "summer";

Segundo o livro SCJP, terei aqui a criação de 3 objetos String: um objeto “spring”, um objeto “summer” e um terceiro objeto “spring summer”.

Agora minha dúvida é em relação ao código a seguir:

String x = "Java";
x = x.concat(" Rules");

Aqui terei 3 objetos? Ou 2? O concat não vai pegar o “Java” e juntar com " Rules" em um objeto só?

3 Respostas

drsmachado

Ops, resposta no lugar errado.

ViniGodoy

Você terá criado 3 objetos:
“Java” " Rules" e “Java Rules”.

Sendo que os objetos “Java” e " Rules" estarão elegíveis para garbage collection.

Por “imutável” entenda que não muda mesmo. Nem com operadores, nem com qualquer método.

gRoOve

Vlw Vini, tirou minha dúvida.

Criado 29 de junho de 2011
Ultima resposta 29 de jun. de 2011
Respostas 3
Participantes 3