如果您使用
||和
&&形式,而不是这些运算符的
|和
&形式,则Java不会费心地单独评估右手操作数。
这是您是否希望缩短评估时间的问题-在 大多数情况 下都是如此。
说明短路好处的一个好方法是考虑以下示例。
Boolean b = true;if(b || foo.timeConsumingCall()){ //we entered without calling timeConsumingCall()}正如Jeremy和Peter提到的,短路的另一个好处是空引用检查:
if(string != null && string.isEmpty()){ //we check for string being null before calling isEmpty()}更多信息



