korsar genom ett Java String variabel är till hjälp när du behöver bearbeta varje tecken i strängen separat . Ett Java String innehåller en serie tecken , såsom en engelsk mening . Till exempel , kan du visa alla andra ord i en mening som en del av ett ord scramble spel . Det finns flera sätt att korsa en sträng , som sträcker sig från repetitiva samtal av " charAt " funktion för att iterera igenom en " CharacterIterator " objekt . Standardteknik
En vanlig " för " loop med en upprepad uppmaning av " charAt " -funktionen är det enklaste sättet att passera en String variabel .
String str = " ; text här ";
for (int n = 0 , n < str.length (); n + +) {char c = str.charAt ( n ), System.out.println ( c );}
" charAt " funktionen returnerar tecknet på ett specifikt index på en konstant tid . Slingan åtkomst till första tecknet i strängen och itererar framåt ett tecken i taget tills den når slutet av strängen . Den " System.out.println "-funktionen visar värdet av tecknet. Addera Traverse en sträng bakåt
Traverse en sträng variabel i omvänd ordning genom att börja med sista tecknet och flyttar bakåt tills öglan når det första tecknet i strängen
String str = " text här "; .
for (int n = str.length ( ) -1 ; n > = 0 , n - ) { char c = str.charAt ( n ) , System.out.println ( c ) ;} Addera ditt Traverse med ett " för - varje " Loop
p Det är möjligt att iterera igenom en sträng med ett " för - alla " bygga , men du måste först ringa " toCharArray ( ) " -funktion , vilket skapar en karaktär array från String variabel
String str = " text här " ,
för ( char c : str.toCharArray ( ) ) . { System.out.println ( c ) ;}
Tyvärr " toCharArray ( ) " -funktion kommer med en overhead kostnad eftersom det måste skapa en helt ny karaktär array från String-variabel . Addera Traverse med en " CharacterIterator " Object
annat sätt att förflytta ett String är genom att skapa en " CharacterIterator " objektet från String och sedan iterera genom objektet med en normal " för " loop .
CharacterIterator str_it = ny StringCharacterIterator ( " text här " ) ;
för ( char c = str_it.first ( ) , c = CharacterIterator.DONE ; ! c = str_it.next ( ) ) { System.out.println ( c ) ;}
Alternativt iterera igenom " CharacterIterator " i omvänd ordning med den " sista " och " tidigare " funktioner
för ( char c = str_it.last . ( ) ; c = CharacterIterator.DONE ; ! c = str_it.previous ( ) ) { System.out.println ( c ) ;} Addera