0

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

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

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

我试图让它工作一段时间,但就是不能。我什至尝试使用布尔方法来结束另一个:

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

我不能添加另一个退货,否则会混淆。它只会停止该end()方法。

甚至有可能做到这一点吗?我想要这个的原因是因为我想要一个简单的if语句,其中包含一个方法,它将做我想做的一切,然后结束它。也许还有另一种方法可以解决这个问题?

4

1 回答 1

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());
}
于 2013-09-29T17:44:24.733 回答