1. Saiten ändern
In Java sind Strings unveränderliche Objekte. Dies wurde durchgeführt, um die String-Klasse stark zu optimieren und ihre Verwendung überall zu ermöglichen. Beispielsweise werden für die Verwendung als Schlüssel in der HashMap-Sammlung nur unveränderliche Typen empfohlen .
Es kommt jedoch häufig vor, dass Programmierer es bequemer fänden, wenn die String
Klasse veränderbar wäre. Sie wollen eine Klasse, die nicht jedes Mal einen neuen Teilstring erstellt, wenn eine ihrer Methoden aufgerufen wird.
Angenommen, wir haben eine sehr lange Zeichenfolge und müssen am Ende häufig etwas hinzufügen. In diesem Fall kann sogar eine Sammlung von Zeichen ( ArrayList<Character>
) effizienter sein als die ständige Neuerstellung und Verkettung von String-Objekten.
Genau aus diesem Grund wurde der Java-Sprache ein String-ähnlicher Typ hinzugefügt, der geändert werden kann. Es heißt StringBuilder
.
Ein Objekt erstellen
Um ein StringBuilder
Objekt basierend auf einer vorhandenen Zeichenfolge zu erstellen, müssen Sie eine Anweisung wie die folgende ausführen:
StringBuilder name = new StringBuilder(string);
Um eine leere veränderbare Zeichenfolge zu erstellen, müssen Sie eine Anweisung wie diese verwenden:
StringBuilder name = new StringBuilder();
Liste der Methoden
Die StringBuilder
Klasse verfügt über zwei Dutzend hilfreiche Methoden. Hier sind die wichtigsten:
Methode | Beschreibung |
---|---|
|
Konvertiert das übergebene Objekt in einen String und hängt ihn an den aktuellen String an |
|
Wandelt das übergebene Objekt in einen String um und fügt ihn in den aktuellen String ein |
|
Ersetzt den durch das Start-.Endintervall angegebenen Teil der Zeichenfolge durch die übergebene Zeichenfolge |
|
Entfernt das Zeichen mit dem angegebenen Index aus der Zeichenfolge |
|
Entfernt Zeichen innerhalb des angegebenen Intervalls aus der Zeichenfolge |
|
Sucht nach einem Teilstring im aktuellen String |
|
Sucht nach einem Teilstring im aktuellen String, beginnend am Ende |
|
Gibt das Zeichen in der Zeichenfolge am übergebenen Index zurück |
|
Gibt die durch das angegebene Intervall definierte Teilzeichenfolge zurück |
|
Kehrt die aktuelle Zeichenfolge um. |
|
Ändert das Zeichen am angegebenen Index in das übergebene Zeichen |
|
Gibt die Länge der Zeichenfolge in Zeichen zurück |
Hier finden Sie eine kurze Beschreibung jeder Methode
2. Methodenbeschreibung:
Anhängen an eine Zeichenfolge
Um einer veränderlichen Zeichenfolge ( ) etwas hinzuzufügen StringBuilder
, verwenden Sie die append()
Methode. Beispiel:
Code | Beschreibung |
---|---|
|
|
Konvertieren in eine Standardzeichenfolge
Um ein Objekt in ein String-Objekt umzuwandeln , müssen Sie lediglich seine Methode StringBuilder
aufrufen . toString()
Beispiel
Code | Ausgang |
---|---|
|
|
Wie lösche ich einen Charakter?
Um ein Zeichen in einer veränderlichen Zeichenfolge zu löschen, müssen Sie die Methode verwenden deleteCharAt()
. Beispiel:
Code | Ausgang |
---|---|
|
|
Wie ersetze ich einen Teil einer Zeichenfolge durch eine andere Zeichenfolge?
Dafür gibt es die replace(int begin, int end, String str)
Methode. Beispiel:
Code | Ausgang |
---|---|
|
|
3. Nützliche Beispiele für die Arbeit mit Strings
Wie kann ich eine Zeichenfolge umkehren?
Dafür gibt es eine spezielle Methode – reverse()
; Beispiel:
Code | Ausgang |
---|---|
|
|
StringBuffer
Klasse
Es gibt eine andere Klasse – StringBuffer, die ein Analogon der StringBuilder
Klasse ist, deren Methoden jedoch mit dem Modifikator gekennzeichnet sind synchronized
. Dies bedeutet, dass StringBuffer
von mehreren Threads gleichzeitig auf das Objekt zugegriffen werden kann.
Aber es ist viel langsamer als StringBuilder
. Möglicherweise benötigen Sie diesen Kurs, wenn Sie beginnen, Multithreading in der Java-Multithreading- Quest aktiv zu erkunden.