向前突破标签

时间:2011-04-29 15:55:40

标签: java

我该怎么做这样的跳跃? Eclipse抱怨找不到label1 ......

THX

public class foo {

    int xyz() {
        int b = 1;

        if (b == 0) {
            break label1;
        }

        // MORE CODE HERE

        label1:

            return 1;

    }
}

4 个答案:

答案 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;
}