a forma más rápida de iterar sobre todos los caracteres en una Cadena

En Java, ¿cuál sería la forma más rápida de iterar sobre todos los caracteres en una Cadena, esto:

String str = "a really, really long string";
for (int i = 0, n = str.length(); i < n; i++) {
    char c = str.charAt(i);
}

O esto

char[] chars = str.toCharArray();
for (int i = 0, n = chars.length; i < n; i++) {
    char c = chars[i];
}

EDIT:

o que me gustaría saber es si el costo de llamar repetidamente a lacharAtl método @ durante una iteración larga termina siendo menor o mayor que el costo de realizar una sola llamada atoCharArray al principio y luego acceder directamente a la matriz durante la iteración.

Sería genial si alguien pudiera proporcionar un punto de referencia sólido para diferentes longitudes de cadena, teniendo en cuenta el tiempo de calentamiento de JIT, el tiempo de inicio de JVM, etc. y no solo la diferencia entre dos llamadas aSystem.currentTimeMillis().

Respuestas a la pregunta(16)

Su respuesta a la pregunta