Rul gennem en strengvariabel i Java
Standard teknik
En regelmæssig "for" -cyklus med et gentagne opkald af "charAt" -funktionen er den mest direkte måde at krydse en strengvariabel på.
String str = "tekst her";
for (int n = 0, n Funktionen "charAt" returnerer tegnet på et specifikt indeks i en konstant tid. Cyklussen får adgang til det første tegn i strengen og itererer et tegn ad gangen ad gangen, indtil det når slutningen af strengen. Funktionen "System.out.println" viser værdien af tegnet. Gå gennem en strengvariabel i omvendt rækkefølge, der starter med det sidste tegn, og bevæg dig bagud, indtil cyklussen når det første tegn i strengen. String str = "tekst her"; for (int n = str.length () -1, n> = 0; n -) {char c = str.charAt (n); System.out.println (c); } Det er muligt at krydse en streng med en "for-hver" -konstruktion, men først skal du kalde funktionen "ToCharArray ()", som skaber en række karakterer fra strengvariablen. String str = "tekst her"; for (char c: str.toCharArray ()) {System.out.println (c); } Desværre kommer funktionen "ToCharArray ()" med en fast omkostning, da du skal oprette en helt ny karaktergruppe fra strengvariablen. En anden måde at gå gennem en streng er ved at oprette et "CharacterIterator" -objekt fra strengen og derefter itereere gennem objektet med en normal "for" -cyklus. CharacterIterator str_it = new StringCharacterIterator ("tekst her"); for (char c = str_it.first (); c = CharacterIterator.DONE;! str_it.next c = ()) {System.out.println (c); } Alternativt itereres gennem "CharacterIterator" i omvendt rækkefølge med funktionerne "sidste" og "forrige". for (char c = str_it.last (); c = CharacterIterator.DONE;! str_it.previous c = ()) {System.out.println (c); }Gå en kæde baglæns
Kør med en "for hver" cyklus
Tour med et "CharacterIterator" -objekt