Unterschied Zwischen StringBuffer Und StringBuilder

Unterschied Zwischen StringBuffer Und StringBuilder
Unterschied Zwischen StringBuffer Und StringBuilder

Video: Unterschied Zwischen StringBuffer Und StringBuilder

Video: Unterschied Zwischen StringBuffer Und StringBuilder
Video: Java SE. Урок 27. Классы StringBuilder / StringBuffer и их методы 2024, April
Anonim

StringBuffer vs StringBuilder

Java ist eine sehr beliebte objektorientierte Sprache. In Java enthält die String-Klasse eine Folge von Zeichen, die nicht geändert werden können (einmal initialisiert). Alternativ bietet die Programmiersprache Java zwei Arten von veränderlichen Zeichenfolgen. Das heißt, wenn die Programmierer einen bestimmten String (nach der Initialisierung) ändern müssen, müssen sie anstelle der String-Klasse die StringBuffer-Klasse oder die StringBuilder-Klasse verwenden. StringBuffer wurde in JDK 1.0 und die StringBuilder-Klasse in JDK 1.5 eingeführt, eigentlich als Ersatz für die StringBuffer-Klasse (für Single-Thread-Umgebungen).

Was ist StringBuffer?

Die StringBuffer-Klasse wurde in JDK 1.0 eingeführt. Die StringBuffer-Klasse gehört zum Paket java.lang und wird vom generischen Objekt java.lang.object geerbt. Programmierer können es nicht weiter erweitern, da es eine letzte Klasse ist. Die StringBuffer-Klasse implementiert die Schnittstellen Serializable, Appendable und CharSequience. Ein Objekt der Klasse StringBuffer kann eine Zeichenfolge enthalten, die veränderlich und threadsicher ist. Das heißt, es ist einem String-Objekt sehr ähnlich, aber die Zeichenfolge (Länge und Inhalt) kann jederzeit nach der Initialisierung des StringBuffer-Objekts geändert werden. Dies sollte jedoch mit den spezifischen Methoden erfolgen, die von der StringBuffer-Klasse bereitgestellt werden. In der StringBuffer-Klasse gibt es zwei Hauptoperationen. Sie werden mit den Methoden append () und insert () bereitgestellt. Diese Methoden sind überladen,So können sie Daten aller Art wie Integer und Long akzeptieren. Beide Methoden transformieren zunächst jede Eingabe in eine Zeichenfolge und fügen dann die Zeichen der entsprechenden Zeichenfolge zum vorhandenen Stribbuffer-Objekt hinzu (fügen sie hinzu oder fügen sie ein). Die append () -Methode fügt die konvertierte Zeichenfolge am Ende des vorhandenen StringBuffer-Objekts hinzu, während die insert () -Methode die Eingabezeichen zur angegebenen Einfügemarke hinzufügt.

Was ist StringBuilder?

Die StringBuilder-Klasse wurde in JDK 1.5 eingeführt. Die StringBuilder-API ist der StringBuffer-API sehr ähnlich. Tatsächlich wurde die StringBuilder-Klasse als Ersatz für die StringBuffer-Klasse eingeführt (für Single-Thread-Anwendungen). Die StringBuilder-Klasse gehört zum Paket java.lang und wird vom generischen Objekt java.lang.object geerbt. Es ist eine letzte Klasse und kann daher von den Programmierern nicht erweitert werden. Die StringBuilder-Klasse implementiert die Schnittstellen Serializable, Appendable und CharSequience. Ein Objekt der Klasse StringBuilder kann eine Zeichenfolge enthalten, die veränderlich, aber nicht threadsicher ist. Das heißt, es ist einem String-Objekt sehr ähnlich, aber der String kann jederzeit geändert werden. Die StringBuilder-Klasse bietet jedoch keine Synchronisation und wird daher als schneller als die Verwendung der StringBuffer-Klasse bezeichnet. Die StringBuilder-Klasse bietet append () - und insert () -Methoden mit genau ähnlichen Funktionen wie in der StringBuffer-Klasse.

Was ist der Unterschied zwischen StringBuffer und StringBuilder?

Obwohl die Klassen StringBuilder und StringBuffer für veränderbare Zeichenfolgen in Java verwendet werden können, weisen sie einen wesentlichen Unterschied auf. Im Gegensatz zur StringBuffer-Klasse ist die StringBuilder-Klasse nicht threadsicher und bietet keine Synchronisation. Daher wird empfohlen, die StringBuilder-Klasse in Single-Thread-Anwendungen anstelle der StringBuffer-Klasse zu verwenden, da behauptet wird, dass die StringBuilder-Klasse (unter normalen Umständen) viel schneller als die StringBuffer-Klasse ist.

Empfohlen: