2.14.4 | Kopieren von Strings |
Da Strings Objekte sind und somit über Verweistypen referenziert werden, ist es zum physikalischen Kopieren eines Strings erforderlich, bestimmte Methoden aufzurufen. Es reicht nicht aus, einen Verweis an einen anderen zuzuweisen. Bei der Klasse StringBuffer kann man sich hierbei der Methode toString() bedienen. Sie liefert ein Exemplar von String zurück, die mit einer Kopie des momentanen Pufferinhalts initialisiert wird.String s; StringBuffer sb = new StringBuffer("ABC"); s = sb.toString();Nach der Ausführung der letzten Zeile enthält das von s referenzierte String-Objekt eine physikalische Kopie des Strings "ABC". String verfügt zwar auch über diese Methode, jedoch liefert sie nur einen Verweis auf das aufgerufene String-Exemplar zurück, womit aber kein physikalisches Kopieren stattfindet.
Eine weitere Möglichkeit, Kopien zu erzeugen, ist der Aufruf geeigneter Konstruktoren der Klasse String.