结肠在Java中意味着什么(第2部分)?

时间:2015-08-12 13:40:21

标签: java java-8

这个问题has already been asked,但答案似乎不完整。以下上下文中的第一个冒号是什么意思?

import hudson.model.SCMS;
(...)
SCMS: for (SCM scm : scmTriggerItem.getSCMs()) { 
(...)

此外,冒号在Java 8中有一些新的用途。

这个问题(最初在两年前提出过)与loop-in-java-code不同,因为它更广泛。虽然原始问题的答案没有提到使用冒号作为标签,这在“java-code-loop-code”中得到了回答,后一个问题并没有要求在for循环中使用冒号也没有在Java 8中。

正如biziclop的回答所示,Java语法中的冒号用法容易被遗忘,而在其他两个问题中则没有提及。

1 个答案:

答案 0 :(得分:13)

Java语言中有:个字符的四次六次使用。

  1. 表示label。标签可用于循环breakcontinue
  2. enhanced for statement(也称为for-each语句)中,允许跨集合和数组轻松迭代。
  3. 作为?: conditional operator
  4. 的一半
  5. 自Java 8开始,作为:: method reference operator
  6. 的一部分
  7. switch statement之后casedefault
  8. 您还可以在assert statement中使用它来在断言失败时指定错误消息。
  9. 在您的情况下,SCMS:是一个标签,而for (SCM scm : scmTriggerItem.getSCMs())是一个增强的声明。

    您始终可以查找Java here的完整语法参考。这是非常沉闷但没有它我很容易错过六个案件中的两个。