这称为for-each或增强型for语句。参见JLS§14.14.2。
它是编译器提供的用于遍历s和数组的语法糖Iterable。以下是迭代列表的等效方法:
List foos = ...;
for (Foo foo : foos)
{
foo.bar();
}
// equivalent to:
List foos = ...;
for (Iterator iter = foos.iterator(); iter.hasNext();)
{
Foo foo = iter.next();
foo.bar();
}
这是两种遍历数组的等效方法:
int[] nums = ...;
for (int num : nums)
{
System.out.println(num);
}
// equivalent to:
int[] nums = ...;
for (int i=0; i
{
int num = nums[i];
System.out.println(num);
}