16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

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

1.4.2.5 Die Klassen Str<strong>in</strong>g und Str<strong>in</strong>gBuffer<br />

E<strong>in</strong> Str<strong>in</strong>g ist e<strong>in</strong>e Sammluung von Zeichen, die im Speicher geordnet abgelegt<br />

wer<strong>de</strong>n. Die Zeichen setzen sich aus e<strong>in</strong>em Zeichensatz zusammen, <strong>de</strong>r <strong>in</strong> <strong>Java</strong><br />

<strong>de</strong>m Unico<strong>de</strong>-Standard entspricht. In <strong>Java</strong> ist e<strong>in</strong>e Symbiose zwischen Str<strong>in</strong>g als<br />

Objekt und Str<strong>in</strong>g als e<strong>in</strong>gebautem Datentyp vorgenommen wor<strong>de</strong>n. Möglich ist e<strong>in</strong>e<br />

Zuweisung von Str<strong>in</strong>g-Literalen an Objekte und die Verknüpfung mehrerer Str<strong>in</strong>gs zu<br />

e<strong>in</strong>em.<br />

1.4.2.5.1 Die Klasse Str<strong>in</strong>g<br />

Die Klasse Str<strong>in</strong>g repräsentiert Zeichenketten, die sich nicht än<strong>de</strong>rn.<br />

Konstruktoren:<br />

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

Str<strong>in</strong>g(Str<strong>in</strong>g wert)<br />

Str<strong>in</strong>g(char[] wert)<br />

Erzeugt e<strong>in</strong> leeres Str<strong>in</strong>g-Objekt<br />

Erzeugt e<strong>in</strong>en neuen Str<strong>in</strong>g durch Duplizierung e<strong>in</strong>es bereits<br />

vorhan<strong>de</strong>nen.<br />

Erzeugt e<strong>in</strong>en neuen Str<strong>in</strong>g aus e<strong>in</strong>em vorhan<strong>de</strong>nen Zeichen-<br />

Array.<br />

Zeichenextraktion<br />

char charAt(<strong>in</strong>t <strong>in</strong><strong>de</strong>x)<br />

Str<strong>in</strong>g substr<strong>in</strong>g(<strong>in</strong>t<br />

anfang, <strong>in</strong>t en<strong>de</strong>)<br />

Str<strong>in</strong>g trim()<br />

Liefert das Zeichen an Position <strong>in</strong><strong>de</strong>x. Dabei hat das erste<br />

Element e<strong>in</strong>es Str<strong>in</strong>g <strong>de</strong>n Wert 0 und das letzte <strong>de</strong>n In<strong>de</strong>x<br />

„length()-1“. Falls <strong>de</strong>r Str<strong>in</strong>g kürzer als „<strong>in</strong><strong>de</strong>x + 1“ ist, wird e<strong>in</strong>e<br />

Ausnahme <strong>de</strong>s Typs „In<strong>de</strong>xOutOfBoundsException“ erzeugt<br />

Liefert <strong>de</strong>n Teilstr<strong>in</strong>g, <strong>de</strong>r an Position anfang beg<strong>in</strong>nt und an<br />

Position en<strong>de</strong> en<strong>de</strong>t. Wie bei allen Zugriffen über e<strong>in</strong>en<br />

numerischen In<strong>de</strong>x beg<strong>in</strong>nt hier das Zählen bei 0. „en<strong>de</strong>“<br />

verweist auf das erste Zeichen h<strong>in</strong>ter <strong>de</strong>m zu extrahieren<strong>de</strong>n<br />

Teilstr<strong>in</strong>g. Der Rückgabewert ist also die Zeichenkette, die von<br />

In<strong>de</strong>xposition anfang bis zur In<strong>de</strong>xpostion „en<strong>de</strong> –1“ reicht<br />

Liefert <strong>de</strong>n Str<strong>in</strong>g, <strong>de</strong>r entsteht, wenn auf bei<strong>de</strong>n Seiten <strong>de</strong>r<br />

Zeichenkette jeweils alle zusammenhängen<strong>de</strong>n Leerzeichen<br />

entfernt wer<strong>de</strong>n. Dabei wer<strong>de</strong>n alle Zeichen, die e<strong>in</strong>en Co<strong>de</strong><br />

kle<strong>in</strong>er 32 haben, als Leerzeichen angesehen. „trim“ entfernt<br />

immer Leerzeichen auf bei<strong>de</strong>n Seiten. Da die Klasse Str<strong>in</strong>g als<br />

f<strong>in</strong>al <strong>de</strong>f<strong>in</strong>iert wur<strong>de</strong>, gibt es ke<strong>in</strong>e Möglichkeit, entsprechen<strong>de</strong><br />

Metho<strong>de</strong>n nachzurüsten, z.B. für das rechtsbündige o<strong>de</strong>r<br />

l<strong>in</strong>ksbündige Entfernen von Leerzeichen.<br />

Länge <strong>de</strong>r Zeichenkette: <strong>in</strong>t length() liefert die aktuelle Länge <strong>de</strong>s Str<strong>in</strong>g-<br />

Objekts. Ist <strong>de</strong>r Rückgabewert 0, dann ist <strong>de</strong>r Str<strong>in</strong>g leer. Wird e<strong>in</strong> Wert „n“ größer 0<br />

zurückgegeben, dann enthält <strong>de</strong>r Str<strong>in</strong>g „n“ Zeichen, die an <strong>de</strong>n In<strong>de</strong>xpositionen 0 bis<br />

„n-1“ liegen.<br />

Vergleichen von Zeichenketten:<br />

boolean equals(Object<br />

e<strong>in</strong>Objekt)<br />

Liefert true, wenn das aktuelle Objekt und e<strong>in</strong>Objekt<br />

i<strong>de</strong>ntisch s<strong>in</strong>d. „equals“ testet auf <strong>in</strong>haltlliche Gleichheit und<br />

nicht darauf, ob bei<strong>de</strong> Str<strong>in</strong>gs dasselbe Objekt referenzieren.<br />

Neben „equals“ gibt es die Metho<strong>de</strong> equalsIgnoreCase, die<br />

evtl. vorhan<strong>de</strong>ne Unterschie<strong>de</strong> <strong>in</strong> <strong>de</strong>r Groß- und<br />

Kle<strong>in</strong>schreibung bei<strong>de</strong>r Zeichenketten ignoriert.<br />

112

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!