打破java中的被调用方法

时间:2012-11-05 09:27:17

标签: java

我有两种方法:

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

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

假设test方法已修复,我无法对其进行修改。

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

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分: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();
    }
}

i的结束值为5。