从有关此主题的Java教程中:
for-each构造也适用于数组,其中它隐藏索引变量而不是迭代器。以下方法返回int数组中的值之和:
// Returns the sum of the elements of aint sum(int[] a) { int result = 0; for (int i : a) result += i; return result;}
而从该JLS的§14.14.2(Java语言规范):
for语句的增强形式为:
EnhancedForStatement: for ( FormalParameter : expression ) Statement的类型
expression必须为Iterable或数组类型,否则会发生编译时错误。
但是请注意,数组没有实现
Iterable;从JLS的§10.1开始:
数组类型的直接超类为
Object。每种数组类型都实现接口
Cloneable和java.io.Serializable。



