String und StringBuilder werden häufig mit „+“ verwendet, und StringBuilder kann mit „append“ verbunden werden. Ich habe nie verstanden, warum ich StringBuilder verwenden sollte, da ich String verwenden kann. Obwohl ich bei Datenbankabfragen normalerweise StringBuilder verwende, um Abfrageanweisungen zu verbinden, kenne ich den Grund immer noch nicht. Als ich mir heute das Video ansah, sah ich wieder StringBuffer und hatte das Gefühl, dass die Verwendung ähnlich ist, also habe ich die Unterschiede zwischen diesen Dingen überprüft.
Es lässt sich wie folgt zusammenfassen:
1. Vergleich hinsichtlich der Ausführungsgeschwindigkeit: StringBuilder > StringBuffer
2. StringBuffer und StringBuilder sind String-Variablen und veränderbare Objekte. Wenn wir sie zum Bearbeiten von Strings verwenden, ist es nicht so, als würden wir einige Objekte erstellen, die wie Strings funktionieren.
3.StringBuilder: Thread-unsicher
StringBuffer: Thread-sicher
Wenn unser String-Puffer von mehreren Threads verwendet wird, kann die JVM nicht garantieren, dass der Betrieb von StringBuilder sicher ist. Obwohl er am schnellsten ist, kann er garantieren, dass StringBuffer ordnungsgemäß funktioniert. Natürlich führen wir in den meisten Fällen Operationen in einem einzelnen Thread aus, daher wird aus Gründen der Geschwindigkeit in den meisten Fällen empfohlen, StringBuilder anstelle von StringBuffer zu verwenden.
Zusammenfassung der Verwendung der drei:
1. Wenn Sie eine kleine Datenmenge verarbeiten möchten, verwenden Sie String
2. Single-Thread-Betrieb des String-Puffers zum Betreiben einer großen Datenmenge StringBuilder
3. Multithread-Betrieb des String-Puffers zum Betreiben einer großen Datenmenge StringBuffer