我是 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/