Não entendi o que aconteceu na mensagem:
http://www.guj.com.br/forum/viewtopic.php?t=8596
public class teste {
public static void main(String[] args) {
String space = " ";
String composite = space + "hello" + space + space;
composite.concat("world");
String trimmed = composite.trim();
System.out.println(trimmed.length());
}
}
Irá imprimir 5, pois Strings são imutáveis, portanto ele não concatena o “world”.
Criei uma nova classe para expressar melhor a minha dúvida:
1 public class Teste {
2 public static void main(String[] args) {
3 String space = " ";
4 String composite = space + "hello" + space + space;
4 System.out.println(composite.concat("world"));
6 String trimmed = composite.trim();
7 System.out.println(trimmed.length());
8 }
9 }
Esta classe irá imprimir:
" hello world "
5
Como String é imutavél ele imprime 5 que representa o hello sem os espaços da variável space, até aí tudo bem.
O proplema é o seguinte como ele concatena e imprime " hello world " na linha 4 se ele é imutável e depois imprime 5?
Agradeço a todos que me poderem tirar esta dúvida e me falar mais sobre String ser imutável.