Some ways to iterate through the characters of a string in Java are:
StringTokenizer
?String
to a char[]
and iterating over that.What is the easiest/best/most correct way to iterate?
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 char
s 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.