16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Programmieren</strong> <strong>in</strong> <strong>Java</strong><br />

1.4.2.5.2 Die Klasse Str<strong>in</strong>gBuffer<br />

Die Klasse Str<strong>in</strong>gBuffer dient zur Implementierung verän<strong>de</strong>rlicher Zeichenketten.<br />

Die Metho<strong>de</strong>n <strong>de</strong>r Klasse Str<strong>in</strong>gBuffer dienen hauptsächlich <strong>de</strong>m Anhängen und<br />

E<strong>in</strong>fügen von Texten. Dabei wird <strong>de</strong>r benötigte Speicherplatz automatisch <strong>de</strong>r Größe<br />

angepaßt.<br />

Konstruktoren:<br />

Str<strong>in</strong>gBuffer()<br />

Erzeugt e<strong>in</strong>en leeren Str<strong>in</strong>gBuffer<br />

Str<strong>in</strong>gBuffer(Str<strong>in</strong>g s) Erzeugt e<strong>in</strong> neues Str<strong>in</strong>gBuffer-Objekt, das e<strong>in</strong>e Kopie <strong>de</strong>r<br />

Zeichenkette s ist.<br />

E<strong>in</strong>fügen von Elementen<br />

Str<strong>in</strong>gBuffer append(Str<strong>in</strong>g s) Hängt Str<strong>in</strong>g s an das En<strong>de</strong> <strong>de</strong>s Str<strong>in</strong>gBuffer-Objekts.<br />

Zurückgegeben wird das verlängerte Str<strong>in</strong>gBuffer-<br />

Objekt. Zusätzlich gibt es die Metho<strong>de</strong> append <strong>in</strong><br />

Varianten für das Anhängen aller Arten von primitiven<br />

Typen. Anstelle e<strong>in</strong>es Str<strong>in</strong>g-Objekts wird hier <strong>de</strong>r<br />

entsprechen<strong>de</strong> primitive Typ übergeben, <strong>in</strong> e<strong>in</strong>en Str<strong>in</strong>g<br />

konvertiert und an das En<strong>de</strong> <strong>de</strong>s Objekts angehängt.<br />

Str<strong>in</strong>gBuffer <strong>in</strong>sert(<strong>in</strong>t offset, Str<strong>in</strong>g s) Fügt <strong>de</strong>n Str<strong>in</strong>g s an die Position offset <strong>in</strong> <strong>de</strong>n<br />

aktuellen Str<strong>in</strong>gBuffer e<strong>in</strong>. Zurückgegeben wuird das<br />

verlängerte Str<strong>in</strong>gBuffer-Objekt. Auch diese Metho<strong>de</strong><br />

gibt es für primitive Typen. Der anstelle e<strong>in</strong>es Str<strong>in</strong>g<br />

übergebene Wert wird zunächst <strong>in</strong> e<strong>in</strong>en Str<strong>in</strong>g<br />

konvertiert und dann an die gewünschte Stelle<br />

e<strong>in</strong>gefügt.<br />

Verän<strong>de</strong>rn von Elementen: „void setCharAt(<strong>in</strong>t <strong>in</strong><strong>de</strong>x, char c) throws<br />

In<strong>de</strong>xOutOfBoundsException“. Das an Position <strong>in</strong><strong>de</strong>x stehen<strong>de</strong> Zeichen wird<br />

durch c ersetzt. Falls Str<strong>in</strong>gBuffer zu kurz ist, löst die Metho<strong>de</strong> e<strong>in</strong>e Ausnahme<br />

<strong>de</strong>s Typs In<strong>de</strong>xOutOfBoundsException aus.<br />

Länge e<strong>in</strong>es Str<strong>in</strong>g-Objekts: <strong>in</strong>t length() liefert die Länge <strong>de</strong>s Objekts (Anzahl<br />

<strong>de</strong>r Zeichen, die zum Zeitpunkt <strong>de</strong>s Aufrufs <strong>in</strong> <strong>de</strong>m Str<strong>in</strong>gBuffer enthalten s<strong>in</strong>d).<br />

Konvertieren <strong>in</strong> e<strong>in</strong>en Str<strong>in</strong>g: Str<strong>in</strong>g toStr<strong>in</strong>g(). Nach<strong>de</strong>m die Konstruktion<br />

e<strong>in</strong>es Str<strong>in</strong>gBuffer-Objekts abgeschlossen ist, kann es mit Hilfe dieser Metho<strong>de</strong><br />

<strong>in</strong> e<strong>in</strong>en Str<strong>in</strong>g verwan<strong>de</strong>lt wer<strong>de</strong>n. Die Metho<strong>de</strong> legt dabei ke<strong>in</strong>e Kopie <strong>de</strong>s<br />

Str<strong>in</strong>gBuffer-Objekts an, son<strong>de</strong>rn liefert e<strong>in</strong>en Zeiger auf <strong>de</strong>n <strong>in</strong>ternen Zeichenpuffer.<br />

Erst wenn <strong>de</strong>r Str<strong>in</strong>gBuffer erneut verän<strong>de</strong>rt wer<strong>de</strong>n soll, wird tatsächlich e<strong>in</strong>e Kopie<br />

erzeugt.<br />

116

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!