java - 在 Java 中使用标记语句有什么意义?

标签 java label

<分区>

我正忙于学习我的认证,我偶然发现了一个我以前从未听过的概念 - “标签声明”。例如:

'标签':'声明'

L1: while(i < 0){
     L2: System.out.println(i);
}

所以我的问题是.. 为什么?这有什么用,什么时候需要使用这样的东西?

最佳答案

我知道的唯一用途是您可以在 breakcontinue 语句中使用标签。因此,如果您有嵌套循环,这是一次突破多个级别的一种方法:

OUTER: for (x : xList) {
          for (y : yList) {
              // Do something, then:
              if (x > y) {
                  // This goes to the next iteration of x, whereas a standard
                  // "continue" would go to the next iteration of y
                  continue OUTER;
              }
          }
       }

如示例所示,如果您以嵌套方式同时迭代两件事(例如搜索匹配项)并想继续,或者如果您正在进行正常迭代,但出于某种原因想要继续,它有时会很有用在嵌套的 for 循环中放置一个 break/continue。

不过,我倾向于每隔几年才使用一次。这是一个先有鸡还是先有蛋的问题,因为它们是一种很少使用的结构,因此很难理解,因此如果可以用另一种方式清楚地编写代码,我将避免使用标签。

关于java - 在 Java 中使用标记语句有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12070942/

相关文章:

python - 使用 networkx 在两个节点之间绘制多条边

java - 是否可以在框架内并排放置两个 gridbag 布局?

java - 使用 JavaFX 显示 OpenCV Mat

java - 创建公共(public)库时有没有办法摆脱 "unused"和 "MemberVisibilityCanBePrivate"

javascript - 从 javascript 编辑 asp 标签

ios - 将场景的 (x, y) 转换为屏幕的 (x, y)

java - Heroku 无法访问 jetty-runner jar 文件

java - 如何在 Java 类应用程序中添加另存为对话框

Html 助手 LabelFor 不呈现标题(工具提示)

r - 在 ggplot2 中自定义轮廓标签