Объект класса
String представляет собой неизменяемую строку.Когда выполняется какой-нибудь метод класса String, система создает новый объект в памяти с выделением ему достаточного места.
Объект класса
StringBuilder представляет собой динамическую строку.При создании строки
StringBuilder выделяет памяти больше, чем необходимо этой строке, а при добавлении к ней каких-либо элементов строка не пересоздается заново.В том случае если выделенной памяти не будет хватать для добавления новых элементов, то емкость объекта будет увеличена.