English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Unterschied zwischen StringBuffer und String Builder in Java

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.

NummerSchlüsselString-BufferString-Generator
1
Basis

StringBuffer wurde in der ursprünglichen Version von Java eingeführt

Es wurde in Java 5eingeführt
2
Synchronisiert
Es ist synchronisiertNicht synchronisiert 
3Leistung 

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

Beispiel für StringBuilder

public class StringBuilderExample{
   public static void main(String[] args){
      StringBuilder builder = new StringBuilder("Hi");
      builder.append("Java 8");
      System.out.println("StringBuilderExample" +builder);
   }
}

Beispiel für StringBuffer

public class StringBufferExample{
   public static void main(String[] args){
      StringBuffer buffer = new StringBuffer("Hi");
      buffer.append("Java 8");
      System.out.println("StringBufferExample" +buffer);
   }
}
Vielleicht gefällt dir auch