Unterschied zwischen StringBuilder und StringBuffer in Java
-
der
StringBuffer
in Java -
der
StringBuilder
in Java -
Unterschiede zwischen
StringBuilder
undStringBuffer
in Java
Dieses Tutorial behandelt die Unterschiede zwischen den Java-Klassen StringBuilder
und StringBuffer
. Also lasst uns anfangen!
der StringBuffer
in Java
Die Klasse StringBuffer
gibt uns ein Mittel, mit dem wir veränderliche String-Daten in Java verwenden können. Diese Saiten können unbedenklich von mehreren Fäden gleichzeitig ohne Risiko genutzt werden.
Syntax:
StringBuffer b = new StringBuffer("Shanii");
Beispiel:
public class BufferexamplebyZeeshan {
public static void main(String[] args) {
StringBuffer b = new StringBuffer(" Hi! ");
b.append(" Muhammad Zeeshan Here! ");
b.append(" Let's Code ");
System.out.println(b);
}
}
Ausgang:
Hi! Muhammad Zeeshan Here! Let's Code
der StringBuilder
in Java
StringBuilder
gibt uns auch Zugriff auf veränderliche Strings, obwohl diese Implementierung keine Thread-Sicherheit hat. Es können nicht mehrere Threads gleichzeitig verwendet werden.
Da diese Klasse diese zusätzliche Funktionalität nicht anwendet, ist sie viel schneller als StringBuffer
.
Syntax:
StringBuilder s1 = new StringBuilder("Shani");
Beispiel:
public class BuilderexamplebyZeeshan {
public static void main(String[] args) {
StringBuilder s = new StringBuilder(" Hey!");
s.append("I am a Programmer");
System.out.println(s);
}
}
Ausgang:
Hey!I am a Programmer
Unterschiede zwischen StringBuilder
und StringBuffer
in Java
Sehen wir uns die Unterschiede zwischen StringBuilder
und StringBuffer
anhand der folgenden Anweisungen an:
NEIN. | StringBuilder |
StringBuffer |
---|---|---|
1 | Die Funktion StringBuilder wird nicht synchronisiert, ist also nicht Thread-sicher. Dies zeigt an, dass zwei verschiedene Threads gleichzeitig die Methoden der Klasse StringBuilder aufrufen können. |
Das Objekt StringBuffer wird synchronisiert, ist also Thread-sicher. Es bedeutet, dass die Methoden von StringBuffer nicht gleichzeitig von zwei verschiedenen Threads aufgerufen werden können. |
2 | Es wird im heap -Speicher des Computers generiert. |
Es wird auch im heap -Speicher generiert. |
3 | Bietet uns Strings, die veränderlich sind. |
Wir können den String ändern, ohne ein Objekt zu konstruieren. |
4 | Es kann einen Standardwert von 16 Zeichen speichern. | Wie StringBuilder kann es einen Standardwert von 16 Zeichen speichern. |
5 | Das schnellste von allen, da es die Veränderlichkeit unterstützt und verhindert, dass viele Threads gleichzeitig arbeiten. | Sie ist langsamer als die Klasse StringBuilder , da sie es mehreren Threads ermöglicht, gleichzeitig Aktionen auszuführen. |
6 | Die Verkettung erfolgt mit der Funktion append() . |
Seine Verkettung erfolgt ebenfalls mit der Funktion append() . |
Beispiel mit StringBuilder
und StringBuffer
StringBuilder
ist schneller als StringBuffer
, da es nicht synchronisiert ist. Schauen wir uns ein einfaches Beispiel an, um sowohl StringBuilder
als auch StringBuffer
zu vergleichen:
public class Main {
public static void main(String[] args) {
int RandomNumber = 5677839;
long time;
StringBuffer s = new StringBuffer();
time = System.currentTimeMillis();
for (int i = RandomNumber; i-- > 0;) {
s.append("");
}
System.out.println(System.currentTimeMillis() - time);
StringBuilder b = new StringBuilder();
time = System.currentTimeMillis();
for (int i = RandomNumber; i > 0; i--) {
b.append("");
}
System.out.println(System.currentTimeMillis() - time);
}
}
Ausgang:
161
17
Das obige Beispiel liefert den Zahlenvergleich von 161
Millisekunden für StringBuffer
und 17
Millisekunden für StringBuilder
, was deutlich macht, dass StringBuilder
die effizientere Variante ist.
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedInVerwandter Artikel - Java String
- So führen Sie die Konvertierung von String in String-Array in Java durch
- Wie entferne ich eine Unterzeichenkette aus einer Zeichenkette in Java
- So konvertieren Sie Byte-Array in Hex-String in Java
- Wie man Java-String in Byte konvertiert
- Generieren Sie eine zufällige Zeichenkette in Java
- Die Swap-Methode in Java