【发布时间】:2011-04-28 23:09:05
【问题描述】:
for (Season time : Season.values() )
system.out.println (time+ "\t" + time.getSpan());
我看到了一个使用: 进行枚举的示例。这是什么意思?
【问题讨论】:
标签: java loops for-loop foreach
for (Season time : Season.values() )
system.out.println (time+ "\t" + time.getSpan());
我看到了一个使用: 进行枚举的示例。这是什么意思?
【问题讨论】:
标签: java loops for-loop foreach
这是foreach loop 的Java 语法。
循环将遍历Season.values()返回的对象集合中的所有项目,在执行循环体之前将每个项目依次放入time变量中。有关 foreach 循环如何工作的更多详细信息,请仔细查看 related question。
【讨论】:
as。
as。示例:foreach($array as $val)
在new for-each loop中将左边的迭代变量和右边的数组分开只是一个记号
【讨论】:
这是foreach的java版本。
这是一个简写版本
for (int i = 0; i < Season.values().size(); i++) {
Season time = Season.values().get(i);
System.out.println(time + "\t" + time.getSpan());
}
(确切的细节取决于 Season.values() 返回的是什么,但你明白了)
正如 Michael 指出的那样,虽然上面的例子更直观,但 foreach 实际上相当于:
Iterator<Season> seasons = Season.iterator();
while (seasons.hasNext()) {
Season time = seasons.next();
System.out.println(time + "\t" + time.getSpan());
}
【讨论】:
for-loop,我认为如果人们第一次看到 for-each 结构,他们会更容易理解正在发生的事情