Titel   Inhalt   Suchen   Index   DOC  Handbuch der Java-Programmierung, 3. Auflage
 <<    <     >    >>   API  Kapitel 11 - Strings

11.4 Die Klasse StringBuffer



11.4.1 Konstruktoren

StringBuffer()

StringBuffer(String s)
java.lang.StringBuffer

Der parameterlose Konstruktor erzeugt einen leeren StringBuffer. Wird dagegen ein String übergeben, erzeugt der Konstruktor ein StringBuffer-Objekt, das eine Kopie der übergebenen Zeichenkette darstellt.

11.4.2 Einfügen von Elementen

StringBuffer append(String s)

StringBuffer insert(int offset, String s)
java.lang.StringBuffer

Mit append wird der String s an das Ende des StringBuffer-Objekts angehängt. Zurückgegeben wird das auf diese Weise verlängerte StringBuffer-Objekt s. Zusätzlich gibt es die Methode append in Varianten für das Anhängen aller Arten von primitiven Typen. Anstelle eines String-Objekts wird hier der entsprechende primitive Typ übergeben, in einen String konvertiert und an das Ende des Objekts angehängt.

insert fügt den String s an der Position offset in den aktuellen StringBuffer ein. Zurückgegeben wird das auf diese Weise verlängerte StringBuffer-Objekt s. Auch diese Methode gibt es für primitive Typen. Der anstelle eines String übergebene Wert wird zunächst in einen String konvertiert und dann an der gewünschten Stelle eingefügt.

11.4.3 Löschen von Elementen

public StringBuffer deleteCharAt(int index)
public StringBuffer delete(int start, int end)
java.lang.StringBuffer

Mit deleteCharAt wird das an Position index stehende Zeichen entfernt und der StringBuffer um ein Zeichen verkürzt. delete entfernt den Teilstring, der von Position start bis end reicht, aus dem StringBuffer und verkürzt ihn um die entsprechende Anzahl Zeichen.

11.4.4 Verändern von Elementen

void setCharAt(int index, char c)
  throws StringIndexOutOfBoundsException

public StringBuffer replace(int start, int end, String str)
java.lang.StringBuffer

Mit der Methode setCharAt wird das an Position index stehende Zeichen durch das Zeichen c ersetzt. Falls der StringBuffer zu kurz ist (also index hinter das Ende des StringBuffer-Objekts zeigt), löst die Methode eine Ausnahme des Typs StringIndexOutOfBoundsException aus.

Seit dem JDK 1.2 gibt es zusätzlich eine Methode replace, mit der ein Teil des StringBuffer-Objekts durch einen anderen String ersetzt werden kann. Dabei wird das von Position start bis Position end - 1 gehende Teilstück durch den String str ersetzt. Falls erforderlich, wird der ursprüngliche StringBuffer verkürzt oder verlängert.

 JDK1.1-1.4 

11.4.5 Längeninformationen

int length()

public int capacity()
java.lang.StringBuffer

length liefert die Länge des Objekts, also die Anzahl der Zeichen, die im StringBuffer enthalten sind. Mit capacity wird dagegen die Größe des belegten Pufferspeichers ermittelt. Dieser Wert ist typischerweise größer als der von length zurückgegebene Wert.

11.4.6 Konvertierung in einen String

String toString()
java.lang.StringBuffer

Nachdem die Konstruktion eines StringBuffer-Objekts abgeschlossen ist, kann es mit Hilfe dieser Methode effizient in einen String verwandelt werden. Die Methode legt dabei keine Kopie des StringBuffer-Objekts an, sondern liefert einen Zeiger auf den internen Zeichenpuffer. Erst wenn der StringBuffer erneut verändert werden soll, wird tatsächlich eine Kopie erzeugt.

Die sinnvolle Anwendung der Klassen String und StringBuffer hat bei vielen Programmen großen Einfluß auf ihr Laufzeitverhalten. In Kapitel 49 gehen wir daher noch einmal auf die speziellen Performanceaspekte beider Klassen ein und geben Hinweise zu ihrer sinnvollen Anwendung.

 Hinweis 


 Titel   Inhalt   Suchen   Index   DOC  Handbuch der Java-Programmierung, 3. Auflage, Addison Wesley, Version 3.0.1
 <<    <     >    >>   API  © 1998-2003 Guido Krüger, http://www.javabuch.de