6.9 Die Klasse String
6.9.1 Deklaration und Initialisierung eines String-Objektes
 
Drei Varianten der Deklaration Es gibt drei Möglichkeiten der Deklaration (inkl. Initialisierung) einer String-Variablen

String name;
name = “Java“;

Wie von anderen Deklarationen gewohnt, lassen sich diese zwei Zeilen zu einer einzigen Verschmelzen:

String name = “Java“;

VVon gänzlich anderer Art ist die dritte Variante. Sie erinnert uns an die Deklaration von Turtle-Objekten und zeigt  uns schon jetzt den Weg, wie wir später Objekte von Klassen anlegen.

String name = new String();
name = "Java";

In der Deklarationszeile gibt das Wort String an, dass ein Objekt der Klasse String erzeugt werden soll. Dieses Objekt soll unter dem Bezeichner name angesprochen werden können. Der  Erzeugungsoperator new ruft den Konstruktor String() auf, der eine sog. Referenz auf das Objekt name anlegt. In der zweiten Zeile schließlich bekommt das Objekt name seinen Wert: "Java".1) Man kann aber auch einen anderen Konstruktor für ein String-Objekt benutzen:

String name = new String("Java");

In diesem Fall wird die Wertezuweisung schon bei der Anlage des Objektes vorgenommen. Wenn wir uns näher mit OOP beschäftigen, gehen wir noch genauer auf diese Arten von Erzeugen von Objekten ein.
 

Zusammen- stellung der wichitgsten Stringmethoden.
name.charAt(i) Liefert ein Zeichen (char) aus einem String-Objekt.
name.substring(i,j) Liefert einen Teil-String aus einem String-Objekt.
name.length() Liefert die Anzahl (int) der gültigen Zeichen in einem String-Objekt.
name.equals(xxx) Prüft ob der Inhalt des String-Objektes xxx ist, und liefert somit einen Wert vom Typ boolean.
name.compareTo(xxx) Prüft, ob der Inhalt des String-Objektes lexikalisch vor oder nach xxx kommt. Der zurückgelieferte Wert ist vom Typ int.
name.toUpperCase() Liefert einen String, in dem alle Zeichen von name als Grossbuchstaben vorliegen. Sonderzeichen bleiben unverändert.
name.toLowerCase() Liefert einen String, in dem alle Zeichen von name als Kleinbuchstaben vorliegen. Auch hier bleiben Sonderzeichen unverändert.
Integer.parseInt(name) Enthält das String-Objekt Zeichen, die als int-Zahl interpretiert werden kann, so liefert diese Methode der Klasse Integer den int-Wert des ursprünglichen Strings.
 
Die letzte Methode ist natürlich keine String-Methode. Die Syntax zeigt uns, dass es sich bei parseInt(name) um eine Klassenmethode der Klasse Integer handelt. Wir haben diese Methode hier aufgeführt, weil sie bei der Bearbeitung von Strings sehr häufig benutzt wird. Die Funktionalitäten dieser hier aufgezählten Methoden werden im nächsten Abschnitt an Beispielen genauer untersuchen.
 
Fußnoten

1)

Tatsächlich ist der Sachverhalt etwas schwieriger. Der Wert eines Stringobjektes kann nicht verändert werden. Mit

String name new String();

wird ein String-Objekt angelegt, dessen Wert ein Leerstring ist., der sich nicht mehr verändern, also auch nicht überschreiben lässt. Mit

name = "Java";

wird nun ein neues String-Objekt erzeugt, das ebenfalls über name ansprechbar ist, das aber nun mit dem Wert "Java" belegt ist. Das alte Objekt ist damit nicht merh erreichbar und der sog. Garbage-Collector wird bei seiner Speicherbereinigung das nicht mehr erreichbare Objekt zerstören, d.h. den entsprechenden Speicherraum für andere Zwecke wieder frei geben.

[zurück]
 

zu 6.9.2 Stringmethoden
zur Startseite www.pohlig.de  (C) MPohlig 2007