Sobes.tech
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 Конкатенация оператором +
Эффективность Высокая при множественных изменениях Низкая при множественных изменениях
Расход памяти Экономичное Более высокий
Создание объектов Изменяет существующий объект Создает новый объект на каждом шаге