0

我有两种方法:

public void test() {
    for (int i = 0; i <= 10; i++) {
        a();
    }
}

public void a() {
    // ...
}

假设test方法是固定的,我不能修改它。

如何打破a方法中的 for 循环?

4

2 回答 2

3

您可以抛出未经检查的异常。

另一种解决方案是对具有第一个方法的类进行子类化并对其进行修复,以便它可以提前停止,例如如果 a() 返回 true。

于 2012-11-05T09:29:17.157 回答
0

您可以抛出异常,或者您可以简单地使用break;. 这是少一点的工作,因为您根本不需要处理异常。
例子:

public class Test
{

    public static void main(String[] args)
    {
        foo();
    }

    public static void foo()
    {
        int i = 0;

        for(i = 0; i <= 10; i++)
        {
            System.out.println("in loop: " + i);
            if(i == 5) break;
        }
        System.out.println("end value: " + i);
        System.out.flush();
    }
}

的最终值为i5。

于 2012-11-05T09:59:07.973 回答