我在我正在查看的程序中找到了这个代码片段,有人可以解释这里发生了什么吗?
return methodA() || methodB();
methodA 和 methodB 最终返回布尔值。这是某种异常保护还是这条语句总是返回methodA()?
我在我正在查看的程序中找到了这个代码片段,有人可以解释这里发生了什么吗?
return methodA() || methodB();
methodA 和 methodB 最终返回布尔值。这是某种异常保护还是这条语句总是返回methodA()?
它调用methodA
并检查结果。如果为真,则立即返回真。否则,它会调用methodB
并返回它。
无论如何,这被称为短路运算符。我建议更多地了解 Java 的运算符,因为您可能会经常看到类似的东西。
如果不需要短路行为,他们可以使用
return methodA() | methodB();
它将调用这两种方法,对结果执行按位或(相当于逻辑或布尔值)并返回结果。
这意味着如果methodA
返回true
则将其用作返回值,否则使用 的返回值methodB
。一种级联评估的返回值。
它是以下的缩写形式:
boolean a = methodA();
boolean b = methodB();
if(a) {
return true;
}
else if(b) {
return true;
}
else {
return false;
}
如果methodA()
返回 true,则不会调用 methodB(),而是返回 true。如果MethodA()
返回 false,methodB()
则将被调用,其值将被返回。