HiveBrain v1.2.0
Get Started
← Back to all entries
patternjavaCritical

What is the easiest/best/most correct way to iterate through the characters of a string in Java?

Submitted by: @import:stackoverflow-api··
0
Viewed 0 times
javaeasiestthebestcorrectiteratethroughcharacterswaystring

Problem

Some ways to iterate through the characters of a string in Java are:

  • Using StringTokenizer?



  • Converting the String to a char[] and iterating over that.



What is the easiest/best/most correct way to iterate?

Solution

As far as correctness goes, this only works for Unicode Code Points in the Basic Multilingual Plane (those that can be represented by a single two byte char in Java). If you have characters outside of that, you will get two chars with an individual surrogate pair in each of them to represent a single real world character.

I use a for loop to iterate the string and use charAt() to get each character to examine it. Since the String is implemented with an array, the charAt() method is a constant time operation.

String s = "...stuff...";

for (int i = 0; i < s.length(); i++){
    char c = s.charAt(i);        
    //Process char
}


That's what I would do. It seems the easiest to me.

Code Snippets

String s = "...stuff...";

for (int i = 0; i < s.length(); i++){
    char c = s.charAt(i);        
    //Process char
}

Context

Stack Overflow Q#196830, score: 495

Revisions (0)

No revisions yet.