Avatar ·

Was ist der Unterschied zwischen StringBuilder und StringBuffer in Java?

Hallo zusammen! Ich lerne Java und schreibe ein kleines Server-Modul zur Log-Verarbeitung. Ich muss Strings aus vielen Fragmenten zusammensetzen und weiß, dass Konkatenation mit "+" in einer Schleife schlecht ist, weil viele unnötige String-Objekte erstellt werden. Ich habe angefangen, StringBuffer zu verwenden, aber mein Teamleiter sagte, ich solle besser auf StringBuilder umsteigen. Ich habe nicht ganz verstanden, warum. Im Internet steht, dass beide Klassen dasselbe tun: Sie ermöglichen es, einen String zu ändern, ohne neue Objekte zu erstellen. Warum gibt es dann zwei Klassen? Und welche soll ich wählen? Hier ist ein Beispiel meines Codes: ```java public class LogBuilder { public static void main(String[] args) { StringBuffer log = new StringBuffer(); for (int i = 0; i < 1000; i++) { log.append("Ereignis #").append(i).append(": "); log.ap