Scorrimento di una variabile String in Java
Tecnica standard
Un normale ciclo "for" con una chiamata ripetitiva della funzione "charAt" è il modo più diretto per attraversare una variabile stringa.
String str = "text here";
per (int n = 0, n
La funzione "charAt" restituisce il carattere di un indice specifico in un tempo costante. Il ciclo accede al primo carattere della catena e scorre un personaggio alla volta fino a raggiungere la fine della catena. La funzione "System.out.println" mostra il valore del carattere.
Ritorna indietro una catena
Esegui una stringa variabile in ordine inverso a partire dall'ultimo carattere e spostandosi indietro finché il ciclo raggiunge il primo carattere della stringa.
String str = "text here";
for (int n = str.length () -1, n> = 0; n -) {char c = str.charAt (n); System.out.println (c); }
Tour con un ciclo "per-ciascuno"
È possibile attraversare una stringa con un costrutto "for-each", ma prima devi chiamare la funzione "ToCharArray ()", che crea una matrice di caratteri dalla variabile stringa.
String str = "text here";
for (char c: str.toCharArray ()) {System.out.println (c); }
Sfortunatamente, la funzione "ToCharArray ()" ha un costo fisso, poiché è necessario creare un array di caratteri completamente nuovo dalla variabile String.
Cammina con un oggetto "CharacterIterator"
Un altro modo per attraversare una stringa è creare un oggetto "CharacterIterator" dalla stringa e quindi scorrere l'oggetto con un normale ciclo "for".
CharacterIterator str_it = new StringCharacterIterator ("text here");
for (char c = str_it.first (); c = CharacterIterator.DONE ;! str_it.next c = ()) {System.out.println (c); }
In alternativa, scorrere "CharacterIterator" in ordine inverso con le funzioni "last" e "previous".
for (char c = str_it.last (); c = CharacterIterator.DONE;! str_it.previous c = ()) {System.out.println (c); }