for (Season time : Season.values() )
system.out.println (time+ "\t" + time.getSpan());
我看到了使用:
进行枚举的示例。这是什么意思?
答案 0 :(得分:7)
这是foreach loop。
的Java语法循环将迭代Season.values()
一次返回的对象集合中的所有项目,在执行循环体之前将每个项目依次放入time
变量。有关foreach循环如何工作的更多详细信息,请仔细查看related question。
答案 1 :(得分:1)
将左侧的迭代变量与new for-each loop
右侧的数组分开只是一个标记答案 2 :(得分:1)
这是java版foreach
。
这是
的简写版本for (int i = 0; i < Season.values().size(); i++) {
Season time = Season.values().get(i);
System.out.println(time + "\t" + time.getSpan());
}
(具体细节取决于Season.values()返回的内容,但你明白了)
正如迈克尔指出的那样,虽然上面的例子更直观,但foreach 实际相当于:
Iterator<Season> seasons = Season.iterator();
while (seasons.hasNext()) {
Season time = seasons.next();
System.out.println(time + "\t" + time.getSpan());
}