Przewijanie zmiennej String w Javie
Standardowa technika
Regularny cykl "za" z powtarzającym się wywołaniem funkcji "charAt" jest najbardziej bezpośrednim sposobem na przechodzenie przez zmienną łańcuchową.
String str = "text here";
for (int n = 0, n
Funkcja "charAt" zwraca charakter określonego indeksu w stałym czasie. Cykl uzyskuje dostęp do pierwszego znaku w łańcuchu i iteruje do przodu po jednym znaku, aż dojdzie do końca łańcucha. Funkcja "System.out.println" pokazuje wartość znaku.
Wróć z powrotem łańcuchem
Uruchom zmienną String w odwrotnej kolejności zaczynając od ostatniego znaku i przesuwając się do tyłu, aż cykl osiągnie pierwszy znak ciągu.
String str = "text here";
for (int n = str.length () -1, n> = 0; n -) {char c = str.charAt (n); System.out.println (c); }
Wycieczka z cyklu "dla każdego"
Możliwe jest przechodzenie ciągu znaków za pomocą konstruktu "for-each", ale najpierw musisz wywołać funkcję "ToCharArray ()", która tworzy tablicę znaków ze zmiennej łańcuchowej.
String str = "text here";
for (char c: str.toCharArray ()) {System.out.println (c); }
Niestety, funkcja "ToCharArray ()" ma stały koszt, ponieważ musisz utworzyć całkowicie nową tablicę znaków ze zmiennej String.
Spacer z obiektem "CharacterIterator"
Innym sposobem przechodzenia przez łańcuch jest tworzenie obiektu "CharacterIterator" z ciągu, a następnie iterowanie przez obiekt w normalnym cyklu "for".
CharacterIterator str_it = new StringCharacterIterator ("tekst tutaj");
dla (char c = str_it.first (); c = CharacterIterator.DONE ;! str_it.next c = ()) {System.out.println (c); }
Alternatywnie, można wykonać iterację za pomocą "CharacterIterator" w odwrotnej kolejności z "ostatnimi" i "poprzednimi" funkcjami.
dla (char c = str_it.last (); c = CharacterIterator.DONE;! str_it.previous c = ()) {System.out.println (c); }