loc*_*boy 49 java syntax foreach for-loop
我遇到了一些我以前没见过的Java语法.我想知道是否有人能告诉我这里发生了什么.
for (ObjectType objectName : collectionName.getObjects())
Run Code Online (Sandbox Code Playgroud)
Mat*_*all 98
它被称为for-each或增强for语句.参见JLS§14.14.2.
它是编译器提供的用于迭代s和数组的语法糖Iterable.以下是迭代列表的等效方法:
List<Foo> foos = ...;
for (Foo foo : foos)
{
foo.bar();
}
// equivalent to:
List<Foo> foos = ...;
for (Iterator<Foo> iter = foos.iterator(); iter.hasNext();)
{
Foo foo = iter.next();
foo.bar();
}
Run Code Online (Sandbox Code Playgroud)
这些是迭代数组的两种等效方法:
int[] nums = ...;
for (int num : nums)
{
System.out.println(num);
}
// equivalent to:
int[] nums = ...;
for (int i=0; i<nums.length; i++)
{
int num = nums[i];
System.out.println(num);
}
Run Code Online (Sandbox Code Playgroud)
可变objectSummary保持类型的当前对象S3ObjectSummary从返回objectListing.getObjectSummaries()和遍历集合。
下面是这方面的一个例子增强的for循环从Java教程
class EnhancedForDemo {
public static void main(String[] args){
int[] numbers = {1,2,3,4,5,6,7,8,9,10};
for (int item : numbers) {
System.out.println("Count is: " + item);
}
}
}
Run Code Online (Sandbox Code Playgroud)
在此示例中,变量项保存了numbers数组中的当前值。
输出如下:
Count is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5
Count is: 6
Count is: 7
Count is: 8
Count is: 9
Count is: 10
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助 !