Junior
115
questionbank
Знаешь ли ты разницу между StringBuilder и конкатенацией строк в Java?
Ответ от нейросети
sobes.tech AI
StringBuilder используется для эффективного изменения строк в одном и том же объекте, что экономит память при множественных изменениях. Конкатенация строк оператором + создает новую строку в каждом шаге, что может быть медленнее и расходовать больше памяти при работе с большим количеством изменений.
Пример StringBuilder:
// Использование StringBuilder для эффективной конкатенации
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 1000; i++) {
sb.append("Строка " + i);
}
String result = sb.toString();
Пример конкатенации оператором +:
// Использование конкатенации оператором + (менее эффективно для множественных операций)
String result = "";
for (int i = 0; i < 1000; i++) {
result += "Строка " + i; // Каждая операция создает новую строку
}
Основная разница:
| Характеристика | StringBuilder | Конкатенация оператором + |
|---|---|---|
| Эффективность | Высокая при множественных изменениях | Низкая при множественных изменениях |
| Расход памяти | Экономичное | Более высокий |
| Создание объектов | Изменяет существующий объект | Создает новый объект на каждом шаге |