普通方法调用上使用的标签-Java



我一直知道Java中的标签用于循环,例如:

myLoop: for(;;) {
  // codez
  break myLoop;
}

但就在最近,我发现这是有效的:

myLabel: System.out.println("");

为什么要这么做?这个有什么用(如果有的话)?

一旦调用break myLoop;,控制结构顶部的标签会导致在控制结构的恢复执行。

在不在控件结构之前的行上放置标签没有任何作用。没有意义,但至少它是无害的。

标签在Java语言规范中有描述。没有什么能阻止你在任何声明上贴上标签。也许Java的设计者不想限制哪些语句可以被标记,这样,如果他们引入了一个新的控制结构,他们就不必将其添加到可以被标记的语句集中。

最新更新