- Итерация символов строки через String.charAt() выполняется медленно, см. например Вудстокс (мне удалось проверить это утверждение собственными тестами):
- Копирование в буферный массив с помощью String.getChars() и затем итерация буфера, очевидно, обходится дороже, чем просто итерация по массиву.
- Библиотеки с высокой оптимизацией производительности, такие как FastJSON, используют смесь небезопасных, устаревших и недокументированных API-интерфейсов (AFAIU) для прямого доступа к резервному массиву String (я проверил с помощью собственных тестов, что этот подход имеет преимущества в производительности)
Подробнее здесь: https://stackoverflow.com/questions/798 ... ang-string