【发布时间】:2011-04-17 11:32:51
【问题描述】:
如何在 Java 中遍历字符串?
我正在尝试使用 foreach 样式进行循环
for (char x : examplestring) {
//action
}
【问题讨论】:
如何在 Java 中遍历字符串?
我正在尝试使用 foreach 样式进行循环
for (char x : examplestring) {
//action
}
【问题讨论】:
Java Strings 不是字符 Iterable。你需要:
for (int i = 0; i < examplestring.length(); i++) {
char c = examplestring.charAt(i);
...
}
我知道很尴尬。
【讨论】:
如果要使用增强循环,可以将字符串转换为charArray
for (char ch : exampleString.toCharArray()) {
System.out.println(ch);
}
【讨论】:
String复制到函数返回的临时数组中。
length() 和charAt() 要快。
.lenght() 和 .charAt()。
char[] 副本迭代快 2%。
使用Guava (r07) 你可以这样做:
for(char c : Lists.charactersOf(someString)) { ... }
这具有使用 foreach 的便利性,而 不 将字符串复制到新数组。 Lists.charactersOf 以List 的形式返回字符串的视图。
【讨论】:
charAt 测试多 49%。
Collection 的 API,而不仅仅是像这样的迭代。
这个怎么样
for (int i = 0; i < str.length(); i++) {
System.out.println(str.substring(i, i + 1));
}
【讨论】: