dh-Materialien
Java Tutorial
 

Zeichenketten

Methoden der Klasse String   Objekte können verloren gehen   Referenzvariable ohne Referenz

Eine Zeichenkette besteht aus einer Folge von Sprachzeichen, die von Anführungszeichen umschlossen wird. Das, was zwischen den Anführungszeichen steht, ist der Inhalt der Zeichenkette (vgl. character-Literale). Zeichenketten (string literals) sind in der Programmiersprache Java keine Werte von String-Variablen, sondern repräsentieren Objekte vom Typ String.

String str = "content";

Der Referenzvariablen str wird hier die Zeichenkette "content" zugewiesen mittels derer str auf das von ihr referenzierte und neu erzeugte String-Objekt zugreifen kann. Der Wert dieses String-Objekts entspricht dem Inhalt der Zeichenkette "content".

Der Inhalt einer Zeichenkette darf leer sein.

// Leerstring:
String empty = "";

Methoden der Klasse String

Die folgenden Programmzeilen liefern einen Überblick über einige der Methoden der Klasse String, die häufig verwendet werden. In den Kommentarzeilen steht das jeweils zurückgelieferte Ergebnis.

String str1 = "Ich bin eine Zeichenkette.";
String str2 = "Ich verweise auf ein Objekt.";

char
ch = str1.charAt(2);
// 'h'

String str = str2.concat(" Wichtig!");
// "Ich verweise auf ein Objekt. Wichtig!"

boolean isInside = str1.contains("ei");
// true

boolean isEqual = str1.contentEquals(str2);
// false

int i = str1.indexOf('b');
// 4

int len = str1.length();
// 26

String str3 = str2.replace("Ich verweise auf ", "");
// "ein Objekt."

String str4 = str1.substring(4);
// "bin eine Zeichenkette."

char[] arr = str3.toCharArray();
// {'e','i','n',' ','O','b','j','e','k','t','.'}

str = str3.toUpperCase();
// "EIN OBJEKT."

Anhand dieser Beispiele lernt man insbesondere, dass das erste Zeichen in der Zeichenfolge einer Zeichenkette immer an der 0-ten Stelle steht. Beinhaltet die integer-Variable len die Länge dieser Zeichenfolge, so steht das letzte Zeichen dieser Zeichenfolge an der len−1-ten Stelle.

Objekte können verloren gehen

String str = "abc";
str = "def";

Die Situation nach Abarbeitung der ersten dieser beiden Programmzeilen lässt sich in etwa folgendermaßen darstellen:

"abc"

Nach Abarbeitung der zweiten Programmzeile sieht das Ganze wie folgt aus:

"abc" und "def"

Referenzvariable ohne Referenz

String str = "abc";
str = null;

Nachdem der Referenzvariable str das Literal null zugewiesen wurde, hat man folgende Situation:

"abc" und null