Оптимизация работы со строками в Java: замена String на StringBuilder
Класс String в Java является неизменяемым, то есть после создания объекта строки его содержимое изменить нельзя. Любая операция изменения строки фактически создает новый объект:
String str = "Hello";
str = str + " World";
В примере создается новый объект строки "Hello World", а старый объект "Hello" остается в памяти до тех пор, пока не будет собран сборщиком мусора.