Najprostsze i jednocześnie najbardziej wydajne będzie skorzystanie z metody CharSequence.charAt(). Interfejs ten jest implementowany zarówno przez String jak i StringBuilder, więc w tym drugim wypadku zawartość bufora można też łatwo zmieniać metodami StringBuildera (setCharAt, replace, insert). Konwertowanie Stringa na tablicę jest najczęściej dodatkowym niepotrzebnym kopiowaniem i przydziałem pamięci na obiekt oraz bufor znakowy (zawartość tablicy można zmieniać, więc nie można użyć bufora ze Stringa).
Nie ma potrzeby dzielenia Stringa ponieważ w pamięci i tak jest on podzielony na znaki w buforze.