estou lendo o livro e surgiu uma duvido, e resolvi recorrer à vocês. Seguinte: No capitulo 6, mais especificamente na página 241 tenho o seguinte código:
Entendi que os Strings são imutáveis e quando se perde referência ao objeto String. Mas minha duvida esta na quantidade de objetos String criados neste momento.
Resposta dela:
O seguinte código cria um objeto “summer” (perdido) e “spring summer” ou somente cria “spring summer”?
String s2 = s1 + "summer ";
Se o anterior for verdade, por que este código não cria outro objeto String?
System.out.println(s1 + " " + s2);
aiaiai…
estou confuso
espero ter conseguido passar a duvida…
obrigado pessoal
[]'s
e ae Marcos, blz?? Na saída do programa não são criados novos objetos string. Ele apenas coloca na saída padrão os objetos string existentes na memória. Blz? Abraços e bons estudos.
[code]String s1 = "spring "; //1. "spring " entra no pool
String s2 = s1 + "summer "; //2 e 3. É criado “summer” e “spring summer”. "summer " entra no pool
s1.concat("fall "); //4 e 5. é criado "fall " e "spring fall ". "fall " entra no pool.
s2.concat(s1); //6. é criado "spring summer spring "
s1 += "winter "; //7 e 8. é criado “winter” e "spring winter ". "winter " entra no pool
System.out.println(s1 + " " + s2); // 9 e 10. É criado " " e “spring winter spring summer”. " " entra no pool
[/code]
O mais provável é que a explicação do livro não leve em conta a linha do println.
[code]String s1 = "spring "; //1. "spring " entra no pool
String s2 = s1 + "summer "; //2 e 3. É criado “summer” e “spring summer”. "summer " entra no pool
s1.concat("fall "); //4 e 5. é criado "fall " e "spring fall ". "fall " entra no pool.
s2.concat(s1); //6. é criado "spring summer spring "
s1 += "winter "; //7 e 8. é criado “winter” e "spring winter ". "winter " entra no pool
System.out.println(s1 + " " + s2); // 9 e 10. É criado " " e “spring winter spring summer”. " " entra no pool
[/code]
O mais provável é que a explicação do livro não leve em conta a linha do println.[/quote]
Valew pessoal pelas respostas…
minha duvida é exatamente esta!
Também contei 10 na primeira, mas como o vini mencionou pode ser que ela não tenha contado do sysout…
Obrigado…
[]'s