String data = new String("Katze"); data = data + 'n' ;
Ja.
Die letzte Anweisung konstruiert einen neuen String,
der die Zeichen "Katzen" enthält
und stellt eine Referenz auf den neuen String in die
Referenzvariable data
.
Stringobjekte sind unveränderbar. Sobald ein String konstruiert worden ist, kann er nie mehr geändert werden. Das hat viele Vorteile, da es die Programme verständlich und zuverlässig macht. Zum Beispiel, wenn eine Methode eine Referenz auf einen String hat, wird dieser String immer dieselben Zeichen enthalten, egal welche Methoden aufgerufen werden und egal was diese Methoden tun.
Aus diesem Grund sollte ein Programm,
das nur eine bescheidene Menge an Zeichenmanipulation
durchführt dafür immer die Klasse String
verwenden.
Aber die konstante Erzeugung neuer Stringobjekte und die Speicherbereinigung der alten Objekte kostet Zeit.