Unterschied zwischen StringBuffer und StringBuilder

Anonim

StringBuffer vs StringBuilder

ist. In Java ist die String-Klasse vorgesehen, um eine Folge von Zeichen zu enthalten, die nicht modifiziert werden können (einmal initialisiert). Alternativ bietet die Java-Programmiersprache zwei Arten von veränderbaren Zeichenfolgen. Das heißt, wenn die Programmierer einen bestimmten String ändern müssen (nach der Initialisierung), müssen sie statt der String-Klasse die StringBuffer-Klasse oder die StringBuilder-Klasse verwenden. StringBuffer wurde in JDK 1 eingeführt. Die Klasse 0 und StringBuilder wurde in JDK 1. 5 eingeführt, tatsächlich als Ersatz für die StringBuffer-Klasse (für Einzel-Thread-Umgebungen).

Was ist StringBuffer?

Die StringBuffer-Klasse wurde in JDK 1. eingeführt. 0. Die StringBuffer-Klasse gehört zum java. lang-Paket und wird vom generischen Java übernommen. lang. Objekt. Programmierer können es nicht weiter ausbauen, 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änderbar und threadsicher ist. Das bedeutet, dass es einem String-Objekt sehr ähnlich ist, aber die Zeichenfolge (Länge und Inhalt) kann nach der Initialisierung des StringBuffer-Objekts jederzeit geändert werden. Dies sollte jedoch mithilfe der von der StringBuffer-Klasse bereitgestellten spezifischen Methoden erfolgen. Es gibt zwei Hauptoperationen in der StringBuffer-Klasse. Sie werden von den Methoden append () und insert () bereitgestellt. Diese Methoden sind überlastet, sodass sie Daten beliebiger Art wie Integer und Long akzeptieren können. Beide Methoden transformieren zunächst eine Eingabe in eine Zeichenfolge und fügen dann die Zeichen der entsprechenden Zeichenfolge dem vorhandenen Stribbuffer-Objekt hinzu (fügt es hinzu oder fügt es ein). Die append () -Methode fügt die konvertierte Zeichenfolge am Ende des vorhandenen StringBuffer-Objekts hinzu, während die insert () -Methode die Eingabezeichen zum angegebenen Einfügepunkt hinzufügt.

Was ist StringBuilder?

Die StringBuilder-Klasse wurde in JDK 1 eingeführt. 5. 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 Java. lang-Paket und wird vom generischen Java übernommen. lang. Objekt. Es ist eine letzte Klasse und deshalb können die Programmierer es nicht erweitern. Die StringBuilder-Klasse implementiert Serializable-, Appendable- und CharSequience-Schnittstellen. Ein Objekt der Klasse StringBuilder kann eine Zeichenfolge enthalten, die veränderbar, aber nicht threadsicher ist. Das bedeutet, dass es einem String-Objekt sehr ähnlich ist, aber der String kann jederzeit geändert werden.Die StringBuilder-Klasse stellt jedoch keine Synchronisierung bereit, und daher wird davon ausgegangen, dass sie schneller ist als die Verwendung der StringBuffer-Klasse. Die StringBuilder-Klasse bietet die Methoden append () und insert () mit genau der gleichen Funktionalität wie die Klasse StringBuffer.

Was ist der Unterschied zwischen StringBuffer und StringBuilder?

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