在Java中"返回methodA()|| methodB()"的目的是什么?

Lia*_*yan 4 java conditional return

我在一个正在查看的程序中找到了这个代码片段,有人能解释一下这里发生了什么吗?

return methodA() || methodB();
Run Code Online (Sandbox Code Playgroud)

methodA和methodB最终返回布尔值.这是某种异常保护还是这个语句总会返回methodA()?

Ant*_*ony 12

它调用methodA并检查结果.如果为true,则立即返回true.否则,它会调用methodB并返回它.

无论如何,这被称为短路运营商.我建议学习更多关于Java的运算符,因为你可能会看到很多这样的东西.

如果不需要短路行为,他们可以使用

return methodA() | methodB();
Run Code Online (Sandbox Code Playgroud)

这将调用两个方法,按位执行或对结果执行(相当于逻辑或布尔值)并返回结果.