Die von dieser StringBuffer-Klasse bereitgestellte Zeichenfolge wird geändert. Sie können StringBuffer verwenden, wenn Sie wissen, dass sich die Zeichendaten ändern werden. Normalerweise verwenden Sie StringBuffers, um Zeichendaten dynamisch zu erstellen.
In Java gibt es drei Klassen, die für Zeichenoperationen verantwortlich sind.
1.Character arbeitet mit einem einzelnen Zeichen.
2.String arbeitet mit einer Zeichenfolge. Unveränderliche Klassen.
3.StringBuffer arbeitet auch mit einer Zeichenfolge, es handelt sich jedoch um eine Variablenklasse.
Zeichenfolge:
Es ist ein Objekt und kein primitiver Typ.
Es handelt sich um ein unveränderliches Objekt. Sobald es erstellt wurde, kann sein Wert nicht mehr geändert werden.
Jede Änderung an einem vorhandenen String-Objekt erfordert die Neuerstellung eines neuen Objekts und das anschließende Speichern des neuen Werts darin.
String ist eine letzte Klasse, das heißt, sie kann nicht vererbt werden.
StringBuffer:
Es handelt sich um ein veränderliches Objekt, das nicht wie String wiederhergestellt werden kann. Es kann nur über den Konstruktor erstellt werden.
StringBuffer sb = new StringBuffer();
Hinweis: Es kann nicht über Bezahlsymbole bezahlt werden.
sb = "Willkommen hier!";//error
Nachdem das Objekt erstellt wurde, wird Speicherplatz im Speicher zugewiesen und zunächst eine Null im StringBuffer gespeichert
Wenn Sie den Wert bezahlen, können Sie die Append-Methode verwenden.
sb.append("Hallo");
Das Obige ist ein Auszug, der im Internet häufig vorkommt. Das Folgende sind meine eigenen zusätzlichen Erkenntnisse:
Die Adresse kann nicht geändert werden, die Länge und der Inhalt können jedoch geändert werden. Die Methode append() dient zum Anhängen. Wenn der reservierte Speicher überschritten wird, wird der Speicher verdoppelt.
Effizienzvergleich: StringBuffer ist höher als String. Da StringBuffer über reservierten Speicherplatz verfügt und ständig anhängt, wird nur ein Objekt bearbeitet. Zeichenfolgen können nicht geändert werden, und Objekte können nur wiederholt erstellt werden, um Änderungen vorzunehmen. ――Wenn Sie häufig Zeichenfolgen anhängen, ersetzen, ändern, einfügen oder löschen, verwenden Sie am besten StringBuffer. Wenn Sie String verwenden müssen, können Sie StringBuffer verwenden, um toString() aufzurufen und es in String zu konvertieren.
Meine Maschine ist ziemlicher Schrott und das Ergebnis nach der Ausführung ist:
Saitenlaufzeit: 164593
-------------------
StringBuffer-Laufzeit: 31
Darüber hinaus verfügt String über eine Methode „contains“, StringBuffer jedoch nicht. Enthält bedeutet Einschließen. Hier können Sie sich an die Methode „enthält“ erinnern.
Das Ausführungsergebnis ist
WAHR