我一直知道Java中的标签用于循环,例如:
myLoop: for(;;) {
// codez
break myLoop;
}
但就在最近,我发现这是有效的:
myLabel: System.out.println("");
为什么要这么做?这个有什么用(如果有的话)?
一旦调用break myLoop;
,控制结构顶部的标签会导致在控制结构的端恢复执行。
在不在控件结构之前的行上放置标签没有任何作用。没有意义,但至少它是无害的。
标签在Java语言规范中有描述。没有什么能阻止你在任何声明上贴上标签。也许Java的设计者不想限制哪些语句可以被标记,这样,如果他们引入了一个新的控制结构,他们就不必将其添加到可以被标记的语句集中。