考虑:
List<String> someList = new ArrayList<String>();
// add "monkey", "donkey", "skeleton key" to someList
Run Code Online (Sandbox Code Playgroud)
for (String item : someList) {
System.out.println(item);
}
Run Code Online (Sandbox Code Playgroud)
如果for不使用for each语法,等效循环会是什么样的?
这段代码让我盯着我的屏幕几分钟:
loop:
for (;;) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
(第137行)
我以前从未见过这个,我不知道Java有一个"循环"关键字(NetBeans甚至不像关键字那样对它进行着色),并且它可以用JDK 6编译得很好.
解释是什么?
这个问题已被提出,但答案似乎不完整.以下上下文中的第一个冒号是什么意思?
import hudson.model.SCMS;
(...)
SCMS: for (SCM scm : scmTriggerItem.getSCMs()) {
(...)
Run Code Online (Sandbox Code Playgroud)
此外,冒号在Java 8中有一些新的用途.
这个问题(最初在两年前提出过)与循环java代码不同,因为它更广泛.虽然原始问题的答案没有提到使用冒号作为标签,这在"java-code-loop-code"中得到了回答,但后一个问题并没有要求在for循环中使用冒号也没有在Java 8中.
正如biziclop的答案所示,Java语法中的冒号用法容易被遗忘,而在其他两个问题中则没有提及.