Junior — Middle
97
Wat zijn de verschillen tussen de operatie van string concatenatie via concatenatie en het gebruik van de methode append in de klasse StringBuilder?
Antwoord van AI
sobes.tech AI
Основное отличие между конкатенацией строк через оператор + и использованием метода 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 рекомендуется для операций с большим количеством изменений строк.