Unterschied zwischen String StringBuffer und StringBuilder in Java

Unterschied zwischen String StringBuffer und StringBuilder in Java

Schlüsselunterschied - Zeichenfolge vs StringBuffer vs StringBuilder in Java
 

String, StringBuffer und String Builder sind Klassen in Java. Die String wird in der Java -Programmierung häufig verwendet. Sobald ein Objekt der String erstellt wurde, ist es nicht möglich, sie zu ändern. Jedes Mal, wenn eine Änderung in der Zeichenfolge auftritt, wird eine neue Zeichenfolge erstellt. Auch wenn es sich um eine Verkettung zu einer vorhandenen Zeichenfolge handelt, wird eine neue Zeichenfolge erstellt. Dies führt zu Speicherverschwendung. StringBuffer- und StringBuilder -Klassen in Java werden verwendet, um die String zu ändern. Der Schlüsselunterschied Zwischen String, StringBuffer und StringBuilder in Java ist das String ist eine Klasse zum Erstellen eines Objekts vom Typ String, das eine Folge von Zeichen ist. StringBuffer ist eine Klasse, die zum Ändern von Zeichenfolgen verwendet wird, die die Sicherheit von Threads bieten.

INHALT

1. Überblick und wichtiger Unterschied
2. Was ist String in Java
3. Was ist StringBuffer in Java
4. Was ist StringBuilder in Java
5. Ähnlichkeiten zwischen String StringBuffer und StringBuilder in Java
6. Seite für Seite Vergleich - String vs StringBuffer vs StringBuilder in Java in tabellarischer Form
7. Zusammenfassung

Was ist String in Java?

String -Klasse ist in Java.Lang -Paket. Jedes Mal, wenn der Programmierer eine Zeichenfolge erstellt, handelt es sich um ein Objekt vom Typ String. Saiten sind unveränderliche Bedeutung, sobald das Objekt erstellt wurde, kann es nicht geändert werden. Objekte, die mit Wrapper -Klassen wie Ganzzahl, Byte, Float, Double erstellt wurden, sind ebenfalls unveränderlich. Ein Streichliteral ist in doppelten Zitaten eingeschlossen. e.G. "Hallo Welt".  Jedes Mal, wenn ein String -Literal erstellt wird, überprüft der Java Virtual Machine (JVM) den konstanten Pool von String Constant Pool. Wenn die Zeichenfolge vorliegt, wird ein Verweis auf den String Constant Pool zurückgegeben. Wenn es sich um eine neue Zeichenfolge handelt, wird dieses Objekt im String Constant Pool erstellt.

Abbildung 01: Java -Programm mit String, StringBuffer und StringBuilder

Verweisen Sie den folgenden Code.

String S1 = "Hallo";

S1 = S1 + „Welt“;

System.aus.println (S1);

In der ersten Aussage bezieht sich S1 auf das „Hallo“ im String Constant Pool. In der zweiten Anweisung ändert JVM die vorhandene Zeichenfolge nicht. Stattdessen erstellt es eine neue Zeichenfolge als "Hello World" und S1 bezieht sich jetzt auf diese neue Zeichenfolge. Das auslaufende "Hallo" -Objekt existiert immer noch im String Constant Pool.

Wenn es einen Code gibt, der ist,

String S1 = "Hallo";

String S2 = S1;

S1, S2 wird sich beide auf das String -Objekt "Hallo" beziehen.

Was ist StringBuffer in Java?

Die StringBuffer -Klasse wird verwendet, um String -Objekte veränderlich zu machen. Daher können diese Objekte geändert werden. StringBuffer definiert vier Konstruktoren. StringBuffer (), StringBuffer (intgröße), StringBuffer (String Str), StringBuffer (charsequence [] ch)

Verweisen Sie den folgenden Code,

StringBuffer s1 = new StringBuffer ("Hallo");

S1.anhängen („Welt“);

System.aus.println (S1);

In Aussage 1 bezieht sich S1 auf das „Hallo“ -Objekt in einem Haufen. Das Objekt ist veränderlich, weil es mit StringBuffer erstellt wird. In Aussage 2 wird „Welt“ an dasselbe „Hallo“ -Schingobjekt angehängt.

String -Objekte, die mit der StringBuffer -Klasse erstellt wurden, kann Speicher speichern. StringBuffer bietet Thread -Sicherheit, da zwei Threads in der StringBuffer -Klasse gleichzeitig nicht auf die gleiche Methode zugreifen können. Gewinde Sicherheitsverringerung der StringBuffer -Leistung. Die StringBuffer -Klasse enthält Methoden wie append (), insert (), reverse (), ersetzen ().

Was ist StringBuilder in Java?

Die StringBuilder -Klasse wird verwendet, um String -Objekte veränderlich zu machen. Daher können diese Objekte geändert werden. Die Funktionalität ähnelt StringBuffer, dies bietet jedoch keine Gewindesicherheit. StringBuilder verfügt.

Verweisen Sie den folgenden Code.

StringBuilder s1 = new StringBuilder ("Hallo");

S1.anhängen („Welt“);

System.aus.println (S1);

In Aussage 1 bezieht sich S1 auf das „Hallo“ -Objekt in einem Haufen. Das Objekt ist veränderlich, weil es mit StringBuilder erstellt wird. In Aussage 2 wird „Welt“ an dasselbe „Hallo“ -Schingobjekt angehängt.  Es gibt keine Schaffung eines völlig neuen String -Objekts.

String -Objekte, die mit der StringBuilder -Klasse erstellt wurden, kann Speicher speichern. Im Gegensatz zu StringBuffer bietet StringBuilder keine Threadsicherheit, da zwei Threads in der StringBuilder -Klasse gleichzeitig auf dieselbe Methode zugreifen können. Die StringBuilder -Klasse enthält Methoden wie append (), insert (), reverse (), ersetzen ().

Was ist die Ähnlichkeit zwischen String, StringBuffer und StringBuilder in Java?

  • Alle können verwendet werden, um Saiten zu erstellen.

Was ist der Unterschied zwischen String StringBuffer und StringBuilder in Java?

String vs StringBuffer vs StringBuilder

Saite Die Zeichenfolge ist eine Java -Klasse, mit der ein Objekt vom Typ String erstellt wird, bei dem es sich um eine Abfolge von Zeichen handelt.
StringBuffer StringBuffer ist eine Java -Klasse, die zum Erstellen von String -Objekten verwendet wird, die mit Thread -Sicherheit geändert werden kann.
StringBuilder StringBuilder ist eine Klasse, die zum Erstellen von String -Objekten verwendet wird, die ohne Thread -Sicherheit geändert werden können.
Wandlungsfähigkeit
Saite Die Zeichenfolge ist eine unveränderliche Klasse.
StringBuffer StringBuffer ist eine veränderliche Klasse.
StringBuilder StringBuilder ist eine veränderliche Klasse.
Fadensicherheit
Saite Methoden der Zeichenfolge sind fadensicher.
StringBuffer Methoden von StringBuffer sind threadssicher und synchronisiert.
StringBuilder Methoden von StringBuilder sind nicht sicher und nicht synchronisiert.
Leistung
Saite Die Zeichenfolge ist schnell.
StringBuffer StringBuffer ist langsam.
StringBuilder StringBuilder ist schnell.

Zusammenfassung -String vs StringBuffer vs StringBuilder in Java 

String, StringBuffer und StringBuilder scheinen gleich zu sein, aber sie haben unterschiedliche Bedeutungen. All dies sind Java -Klassen. Der Unterschied zwischen String, StringBuffer und StringBuilder in Java besteht darin, dass StringBuffer eine Klasse zum Erstellen eines Objekts vom Typ String ist, bei dem es sich um eine Reihe von Zeichen handelt, die zum Ändern von Zeichenfolgen und zur Bereitstellung von Thread -Sicherheit verwendet wird, während StringBuilder ein ist Klasse, mit der Zeichenfolgen geändert werden, die keine Gewindesicherheit bieten.

Laden Sie den PDF -String vs StringBuffer vs StringBuilder in Java herunter

Sie können die PDF -Version dieses Artikels herunterladen und ihn für Offline -Zwecke gemäß Citation Note verwenden. Bitte laden Sie die PDF -Version hier den Unterschied zwischen String StringBuffer und StringBuilder in Java herunter

Referenz:

1.“String vs StringBuffer vs StringBuilder.Journaldev, 30. Juli 2017. Hier verfügbar
2.„Java hungrig.Unterschied zwischen String-, StringBuilder- und StringBuffer -Klassen mit Beispiel: Java | Java hungrig. Hier verfügbar 
3.Tutorialspitze.com. „Java -Saiten." Der Punkt. Hier verfügbar