„Was denkst du, Amigo? Was ist nach int die beliebteste Java-Klasse?“
„Du hast mir im Titel der Lektion bereits einen Spoiler gegeben, Ellie String
.
„In der Tat ist es ein Spoiler. String
Wird absolut überall verwendet. Es verfügt über eine Reihe nützlicher Methoden, die Sie besser kennen sollten.“
„Die String
Klasse ist die einzige Klasse außer primitiven Typen, deren Literale in einer switch
Anweisung verwendet werden können; der Compiler behandelt das Hinzufügen von Zeichenfolgen und String-Objekten auf besondere Weise; String
Objekte werden auf besondere Weise im Speicher abgelegt. Im Grunde String
ist die Klasse eine sehr spezielle Klasse.
„Außerdem String
verfü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 einfacher fallen.“
„Ich kann es kaum erwarten.“
„Nun, wir beginnen beim Kern dieses Ökosystems – der Organisation der String
Klasse. Die Struktur der String
Klasse ist eigentlich sehr einfach: Im Inneren befindet sich ein Zeichenarray ( char
Array), das alle Zeichen der Zeichenfolge speichert. Für Beispiel: So wird das Wort „Hallo“ gespeichert:
Es ist wichtig.
Eigentlich ist das nicht ganz korrekt. Da die String
Klasse sehr wichtig ist, werden viele Optimierungen vorgenommen und die Daten werden intern nicht als Zeichenarray, sondern einfach als Bytearray gespeichert.
Methoden der String-Klasse
Die String
Klasse hat viele Methoden: Sie hat allein 18 Konstruktoren! Deshalb werde ich im Folgenden nur die am häufigsten verwendeten auflisten:
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 einen String in den String-Pool ein. |
„Das sieht sehr gut aus!“
„Schreiben wir ein Programm, das einen Dateipfad vom Unix-Stil in den Windows-Stil konvertiert. Unix verwendet das /
Zeichen, um Ordner zu trennen, 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. |
„Die dritte Lösung hat mir am besten gefallen. Ich werde aber alle drei üben.“
„Gut gemacht, Amigo. Ich sehe, dass du schon ungeduldig bist, dein neues Wissen in die Praxis umzusetzen. Die Lektion ist vorbei.“
GO TO FULL VERSION