traslazione attraverso una variabile String di Java è utile quando è necessario per elaborare ogni carattere della stringa separatamente. Una stringa Java contiene una serie di personaggi , come ad esempio una frase in inglese . Ad esempio, è possibile visualizzare ogni altra parola in una frase come parte di un gioco scramble parola . Ci sono diversi modi per attraversare una stringa , che vanno dalle chiamate ripetitive della funzione " charAt " per l'iterazione attraverso un oggetto " CharacterIterator " . Tecnica standard
Un regolare ciclo "for" con un invito ripetitivo della funzione " charAt " è il modo più semplice per attraversare una variabile String .
String str = " , il testo ";
for (int n = 0; n < str.length (); n + + ) { char c = str.charAt ( n) ; System.out.println ( c); }
la funzione " charAt " restituisce il carattere in un indice specifico in un tempo costante . Il loop accede al primo carattere della stringa e itera avanti di un carattere alla volta fino a raggiungere la fine della stringa . La funzione " System.out.println " viene visualizzato il valore del carattere .
Traverse una stringa Backwards
attraversare una variabile stringa in ordine inverso iniziando dal ultimo carattere e spostando indietro fino a quando il ciclo raggiunge il primo carattere della stringa
String str = " testo"; .
for (int n = str.length ( ) -1 ; n> = 0 , n - ) { char c = str.charAt ( n) ; System.out.println ( c );}
Traverse con un " per - ogni " loop
E 'possibile scorrere una stringa con un " for-each " costrutto , ma è necessario prima di chiamare la" funzione " toCharArray ( ), che crea un array di caratteri dalla stringa variabile
String str = " testo";
per ( char c : str.toCharArray ( ) ) . { System.out.println ( c );} < br >
Purtroppo, il " toCharArray ( ) " la funzione viene fornito con un costo ambientale , perché si deve creare un intero nuovo array di caratteri della variabile String .
Traverse con un " CharacterIterator " oggetto
un altro modo per attraversare una stringa è la creazione di un oggetto " CharacterIterator " dalla stringa e poi scorrendo l'oggetto con un normale ciclo "for" .
CharacterIterator str_it = new StringCharacterIterator ( " testo qui ");
per ( char c = str_it.first ( ) c = CharacterIterator.DONE ; ! c = str_it.next ( ) ) { System.out.println ( c );}
alternativa, scorrere l' " CharacterIterator " in ordine inverso , con le funzioni " precedenti" "ultimo" e
per ( char c = str_it.last . ( ) c = CharacterIterator.DONE ; ! c = str_it.previous ( ) ) { System.out.println ( c );}