Junior — Middle
Quelle est la différence entre l'utilisation de l'opérateur de concaténation de chaînes et la classe StringBuilder pour la jonction de chaînes?
sobes.tech IA
Réponse de l'IA
Оператор конкатенации строк (например, + в Java) создает новую строку при каждом объединении, что приводит к созданию множества временных объектов и снижает производительность при большом количестве операций.
Класс StringBuilder предназначен для эффективного объединения строк, так как он использует изменяемый буфер и не создает новые объекты при каждой операции добавления.
Пример:
// Использование оператора + (менее эффективно при множественных конкатенациях)
String result = "";
for (int i = 0; i < 1000; i++) {
result += i;
}
// Использование StringBuilder (эффективнее)
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 1000; i++) {
sb.append(i);
}
String result = sb.toString();
Итого, для небольшого количества конкатенаций оператор + удобен и читаем, а для циклов и большого объема операций лучше использовать StringBuilder.