我该怎么做这样的跳跃? Eclipse抱怨找不到label1 ......
THX
public class foo {
int xyz() {
int b = 1;
if (b == 0) {
break label1;
}
// MORE CODE HERE
label1:
return 1;
}
}
答案 0 :(得分:8)
您正尝试在Java中使用等效的goto
。你不能,而且有充分的理由。抛弃船。
标签包含在Java中,其唯一原因是在嵌套循环(或switch语句)的情况下选择哪个 循环或切换来突破。它们没有其他目的,即使是单一的目的通常被认为危险地接近goto。
答案 1 :(得分:6)
标签仅适用于循环(和一般的块)。你正试图模仿goto
。不。
答案 2 :(得分:3)
你做不到。您只能打破封闭循环结构。你根本就没有循环结构。试试这个:
public class foo {
int xyz() {
int b = 1;
boolean skip = false;
if (b == 0) {
skip = true;
}
if (!skip) {
// MORE CODE HERE
}
return 1;
}
}
答案 3 :(得分:0)
我除了之前的答案,为什么不只是
if (b == 0) {
return 1;
}