1. Struktur der StringKlasse
Heute werden wir über die StringKlasse sprechen. Nach Ints ist die String-Klasse die beliebteste Klasse in Java. Es wird absolut überall verwendet. Es verfügt über eine Reihe nützlicher Methoden, die Sie besser kennen sollten.
Die StringKlasse ist außer primitiven Typen die einzige Klasse, deren Literale in einer switchAnweisung verwendet werden können; Der Compiler behandelt das Hinzufügen von Zeichenfolgen und String-Objekten auf besondere Weise. StringObjekte werden auf besondere Weise im Gedächtnis gespeichert. Im Grunde handelt es sich bei der StringKlasse um eine ganz besondere Klasse.
Außerdem Stringverfügt die Klasse über eine Reihe von Hilfsklassen, deren Zweck darin besteht, die Arbeit mit Strings in Java weiter zu vereinfachen. Wenn Sie das alles lernen, werden Ihnen viele Dinge wirklich viel leichter fallen. Nun, wir beginnen beim Kern dieses Ökosystems – der Organisation der StringKlasse.
Array von Zeichen
Der Aufbau der StringKlasse ist eigentlich sehr einfach: Darin befindet sich ein Zeichenarray (char-Array), das alle Zeichen des Strings speichert. So wird beispielsweise das Wort „Hallo“ gespeichert:
Eigentlich ist das nicht ganz richtig. Da die StringKlasse sehr wichtig ist, werden viele Optimierungen vorgenommen und die Daten werden intern nicht als Zeichenarray, sondern einfach als Bytearray gespeichert.
2. Methoden der StringKlasse
Die StringKlasse hat viele Methoden: Sie hat allein 18 Konstruktoren! Deshalb erwähnen wir im Folgenden nur die grundlegendsten davon:
| Methoden | Beschreibung |
|---|---|
|
Gibt die Anzahl der Zeichen in der Zeichenfolge zurück |
|
Überprüft, ob die Zeichenfolge eine leere Zeichenfolge ist |
|
Überprüft, ob die Zeichenfolge nur Leerzeichen enthält: Leerzeichen, Tabulator, neue Zeile usw. |
|
Gibt das Zeichen an der Indexposition in der Zeichenfolge zurück. |
|
Gibt ein Array der Zeichen (eine Kopie) zurück, aus denen die Zeichenfolge besteht |
|
Konvertiert eine Zeichenfolge in eine Reihe von Bytes und gibt das Byte-Array zurück. |
|
Teilt eine Zeichenfolge in mehrere Teilzeichenfolgen auf. |
|
Verbindet mehrere Teilzeichenfolgen miteinander |
|
Fügt eine Zeichenfolge in die ein string pool. |
Mehr über Konstruktoren erfahren Sie im Artikel Java-Konstruktoren .
Schreiben wir ein Programm, das einen Dateipfad vom Unix-Stil in den Windows-Stil konvertiert. Unix verwendet das /Zeichen zum Trennen von Ordnern, während Windows das \Zeichen verwendet.
Lösung 1: Verwenden eines char-Arrays
| Code | Anmerkungen |
|---|---|
|
Erstellen Sie ein Scannerobjekt. Lesen Sie eine Zeile aus der Konsole. Konvertieren Sie eine Zeichenfolge in ein Zeichenarray. Durchlaufen Sie die Zeichen. Wenn das Zeichen ist /, ersetzen Sie es durch \. Vergessen Sie nicht die Flucht. Erstellen Sie eine neue Zeichenfolge basierend auf dem Zeichenarray. Zeigen Sie die Zeichenfolge an. |
Lösung 2: – Verwendung der split()und- join()Methoden
| Code | Anmerkungen |
|---|---|
|
Erstellen Sie ein Scannerobjekt. Lesen Sie eine Zeile aus der Konsole. Konvertieren Sie einen String in ein Array von Strings . Das /Zeichen wird als Trennzeichen verwendet (die zusätzlichen zwei Schrägstriche sind das Ergebnis doppelter Escapezeichen). Verketten Sie alle Zeichenfolgen im Zeichenfolgen-Array . Das \wird als Trennzeichen verwendet (wir sehen, dass es maskiert ist). Zeigen Sie die Zeichenfolge an. |
Lösung 3: – Verwendung der replace(char oldChar, char newChar)Methode
| Code | Anmerkungen |
|---|---|
|
Erstellen Sie ein Scannerobjekt. Lesen Sie eine Zeile aus der Konsole. Ersetzen Sie einfach ein Zeichen durch ein anderes (das zweite ist maskiert). Zeigen Sie die Zeichenfolge an. |
GO TO FULL VERSION