1732 Stimmen

Unterschied zwischen StringBuilder und StringBuffer

Was ist der Hauptunterschied zwischen StringBuffer y StringBuilder ? Gibt es irgendwelche Leistungsprobleme, wenn man sich für eines dieser Produkte entscheidet?

23voto

Learning Punkte 7731

StringBuilder ist nicht thread-sicher. String Buffer schon. Mehr Infos aquí .

EDIT: Was die Leistung angeht, nach Hotspot eintritt, ist der StringBuilder der Gewinner. Bei kleinen Iterationen ist der Leistungsunterschied jedoch vernachlässigbar.

21voto

subodh ray Punkte 221

StringBuilder y StringBuffer sind fast identisch. Der Unterschied ist, dass StringBuffer synchronisiert ist und StringBuilder ist nicht. Obwohl, StringBuilder ist schneller als StringBuffer ist der Unterschied in der Leistung sehr gering. StringBuilder ist ein SUN-Ersatz von StringBuffer . Es vermeidet lediglich die Synchronisierung aller öffentlichen Methoden. Abgesehen davon ist ihre Funktionalität die gleiche.

Beispiel für eine gute Verwendung:

Wenn sich Ihr Text ändern wird und von mehreren Threads verwendet wird, ist es besser, die StringBuffer . Wenn sich Ihr Text ändern soll, aber nur von einem einzigen Thread verwendet wird, dann verwenden Sie StringBuilder .

20voto

sudhakar Punkte 217

String ist eine unveränderliche.

StringBuffer ist eine veränderbare und synchronisierte Datei.

StringBuilder ist ebenfalls veränderbar, wird aber nicht synchronisiert.

13voto

Zohra Khan Punkte 4964

Unterschied zwischen StringBuffer und StringBuilder Quelle:

enter image description here

11voto

skaffman Punkte 389758

El javadoc erklärt den Unterschied:

Diese Klasse bietet eine API, die mit StringBuffer kompatibel ist, aber keine Garantie für Synchronisierung bietet. Diese Klasse ist als Ersatz für StringBuffer gedacht, wenn der String-Buffer von einem einzigen Thread verwendet wird (was im Allgemeinen der Fall ist). Wenn möglich, wird empfohlen, dass diese Klasse anstelle von StringBuffer verwendet wird, da sie in den meisten Implementierungen schneller sein wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X