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å en kæde baglæns

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); }

Kør med en "for hver" cyklus

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.

Tour med et "CharacterIterator" -objekt

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); }

Interessante Artikler