java - 我想返回一些东西并执行一些其他方法。 JAVA有什么办法吗?

标签 java return void

我是 Java 初学者。 所以我有一个问题。

我有一个方法:

public boolean method1() {
    if (something) {
        returnVal = true;
    } else {
        returnVal = false;
        method2();
    }
    return returnVal;
}

我意识到,当第二个条件成立后,即使它将returnVal设置为false,它也不会返回,因为它会进一步执行method2()。有没有办法重构我的代码,以便无论哪个条件为真,我的 method1 都会返回 returnVal。

谢谢。

最佳答案

您的方法返回false。就在 method2 完成之后。

没有办法强制在您返回后调用方法。 (即使有办法实现这一点,也是没有意义的。如果在 method1 的调用者可以执行任何操作之前调用 method2,那么它将是与返回之前调用 method2 相同。)

既然你问了,你可以在调用 method2 (有点)之前执行 return 语句,如下所示:

try {
    return false;
} finally {
    method2();
}

但这在语义上等同于您已经拥有的内容。

关于java - 我想返回一些东西并执行一些其他方法。 JAVA有什么办法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28355914/

相关文章:

java - java中的返回问题

C# 更好地返回列表或修改现有列表?

java - `public static void main args`是什么意思?

java - 在图和子图上表示和执行 IO

java - 每个 JTree 节点存储和使用多个值

java - Class[] - 这是什么意思?

javascript - 从函数内部返回变量到外部

c# - 声明一个同时支持 Void 和 IEnumerator 的函数

C++:类问题

java - 为什么这个 Java 方法看起来有两种返回类型?