有没有人见过Java中的以下内容?
public void methodName(){
search:
for(Type[] t : Type[] to){
do something...
}
}
Run Code Online (Sandbox Code Playgroud)
有人能指出我在这种情况下使用"搜索:"的文档吗?搜索"搜索:"的效率并不高.
谢谢
T.J*_*der 12
这是一个标签.从Java语言规范的§14.7开始:
声明可能有标签前缀......
(遗漏语法,标记痛苦)
与C和C++不同,Java编程语言没有
goto声明; 标识符语句标签与出现在标签语句中任何位置的break(§14.15)或continue(§14.16)语句一起使用.
您经常看到标签的一个地方是嵌套循环,您可能希望在早期中断两个循环:
void foo() {
int i, j;
outerLoop: // <== label
for (i = 0; i < 100; ++i) {
innerLoop: // <== another label
for (j = 0; j < 100; ++j) {
if (/*...someCondition...*/) {
break outerLoop; // <== use the label
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
通常情况下,break在内部循环中会破坏内部循环,而不是外部循环.但因为它是一个使用标签的 定向 break,它打破了外循环.
| 归档时间: |
|
| 查看次数: |
164 次 |
| 最近记录: |