Heute ein kleiner Test. Was gibt folgender Code aus?
String text = "Ich habe ";
text.concat("Hunger!");
System.out.println(text);
Natürlich: Ich habe
Das war wohl nicht erwartet, oder?
String text = "Ich habe ";
text = text.concat("Hunger!");
System.out.println(text); // Ich habe Hunger!
Mit dem Nachteil das der alte String „Ich habe “ verloren ist im String pool und Speicher verschwendet!
Also besser:
StringBuffer sb = new StringBuffer("Ich habe ");
sb.append("Durst!");
System.out.println(sb);