Junior — Middle
99
Was sind die Unterschiede zwischen der Verkettungsoperation von Strings durch Verkettung und der Verwendung der Methode append in der Klasse StringBuilder?
Antwort von AI
sobes.tech KI
Основное отличие между конкатенацией строк через оператор + и использованием метода append класса StringBuilder заключается в производительности и управлении памятью.
-
Конкатенация через
+создает новый объект строки при каждой операции, так как строки в Java неизменяемы (immutable). Это приводит к созданию множества временных объектов и увеличению нагрузки на сборщик мусора, особенно в циклах или при большом количестве операций. -
StringBuilder.append() изменяет внутренний буфер без создания новых объектов, что значительно эффективнее при последовательном добавлении строк.
Пример:
// Менее эффективно
String result = "";
for (int i = 0; i < 1000; i++) {
result += i;
}
// Более эффективно
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 1000; i++) {
sb.append(i);
}
String result = sb.toString();
Использование StringBuilder рекомендуется для операций с большим количеством изменений строк.