Ответ
String — неизменяемый (immutable) класс, любая операция (конкатенация, замена символов) создает новый объект, что может быть неэффективно при частых изменениях.
StringBuilder — изменяемый (mutable) класс, оптимизирован для операций с текстом (добавление, вставка, удаление), работает быстрее, так как модифицирует существующий буфер.
Пример:
String str = "Hello";
str += " World"; // Создается новый объект
StringBuilder sb = new StringBuilder("Hello");
sb.append(" World"); // Изменяется существующий объект
Когда использовать:
String— для константных строк или редких изменений.StringBuilder— для интенсивных операций (циклы, множественные конкатенации).