English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
StringBuffer und StringBuilder sind veränderliche Klassen, die zur Ausführung von Operationen an String-Objekten verwendet werden können, wie z.B. das Umkehren von Strings, das Komprimieren von Strings usw. Wir können Strings ohne die Erstellung neuer String-Objekte ändern. Der StringBuffer ist thread-sicher, während der String-Generator nicht thread-sicher ist. Daher ist er schneller als der StringBuffer. Außerdem, Stringconcat +Operatoren werden intern von der StringBuffer- oder StringBuilder-Klasse verwendet. Hier sind die Unterschiede.
Nummer | Schlüssel | String-Buffer | String-Generator |
---|---|---|---|
1 | Basis | StringBuffer wurde in der ursprünglichen Version von Java eingeführt | Es wurde in Java 5eingeführt |
2 | Synchronisiert | Es ist synchronisiert | Nicht synchronisiert |
3 | Leistung | Es ist thread-sicher. Daher können mehrere Threads nicht gleichzeitig darauf zugreifen, daher ist die Geschwindigkeit langsam. | Es ist nicht thread-sicher, daher schneller als der String-Puffer |
4 | Änderbar | Es ist änderbar. Wir können den String ändern, ohne ein Objekt zu erstellen | Es ist auch änderbar |
5 | Speicher | Stack | Stack |
public class StringBuilderExample{ public static void main(String[] args){ StringBuilder builder = new StringBuilder("Hi"); builder.append("Java 8"); System.out.println("StringBuilderExample" +builder); } }
public class StringBufferExample{ public static void main(String[] args){ StringBuffer buffer = new StringBuffer("Hi"); buffer.append("Java 8"); System.out.println("StringBufferExample" +buffer); } }