我找到了这个程序,其中 for each 循环应用于 char 数组,迭代是使用字符完成的...请解释一下它是如何发生的??...我认为迭代只能是使用字符完成..
class Print{
public static void main(String args[]) {
printCharacters("Java");
}
public static void printCharacters(String word) {
char[] characters = word.toCharArray();
for (Character ch : characters) {
System.out.println(ch);
}
}
}
输出:
J
A
V
A
最佳答案
我不确定为什么所有的反对票,这是一个合理的问题!
你实际上在这里有一个很好的收获,因为数组是使用原始 char
定义的,for 循环中的迭代应该做同样的事情:
for (char ch : characters) {
System.out.println(ch);
}
除非我们有充分的理由去做autoboxing
并创建一个 Character
对象 - 这种开销是不需要的(实际上它会影响性能并浪费堆中的内存)。
这种“充分理由”的一个例子是当我们想使用 generics
时这不适用于原始类型。然而,这里不是这种情况。
关于java - for each 循环应用于 char 数组并使用 Character 完成迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33811566/