Was ist der Hauptunterschied zwischen StringBuffer
y StringBuilder
? Gibt es irgendwelche Leistungsprobleme, wenn man sich für eines dieser Produkte entscheidet?
Antworten
Zu viele Anzeigen?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
.
Unterschied zwischen StringBuffer und StringBuilder Quelle:
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.