从另一个方法结束布尔方法?

时间:2013-09-29 17:36:01

标签: java

我有一个boolean方法,直到返回true才会运行。我在该方法内部运行另一种方法,可以结束它。那可能吗?我没有在这里或在互联网上找到任何东西。这是我的意思的一个例子:

public boolean run(...) {
end();
}

public void end() {
// do stuff
return;
}

我已经试着让它工作一段时间,但不能。我甚至尝试使用布尔方法来结束另一个:

public boolean end() {
// do stuff
return true;
}

我无法添加其他回报,否则会感到困惑。它只会停止end()方法。

甚至有可能实现这一目标吗?我想要这个的原因是因为我希望有一个简单的if语句,其中包含一个方法,它将完成我想要的所有操作然后结束它。也许还有另一种解决方法吗?

1 个答案:

答案 0 :(得分:0)

你的问题并不完全清楚,但听起来我想要做一个非本地退出。在这种情况下,在Java中执行此操作的唯一方法是使用Throwables。一种方法可以是这样的:

class Exit extends RuntimeException {}

public void run() {
    try {
        /* Do your stuff, which may or may not entail calling end(). */
    } catch(Exit e) {
        return;
    }
}

public void end() {
    throw(new Exit());
}