“:”在这个Java语句中意味着什么?

时间:2010-10-22 03:24:41

标签: java loops for-loop foreach

for (Season time : Season.values() )
system.out.println (time+ "\t" + time.getSpan());

我看到了使用:进行枚举的示例。这是什么意思?

3 个答案:

答案 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());
}