猿问

什么时候应该在 Java 中使用单个逻辑运算符?

直截了当:与短路和变体相比,何时使用单一&或单一更好?|&&||

我似乎找不到一个更好地评估布尔表达式的两侧的示例。


holdtom
浏览 75回答 1
1回答

呼啦一阵风

&&正如您所暗示的那样,您意识到短路运算符and||和非短路运算符&and之间的区别|。但这种差异何时会变得显着?当第二个表达式有副作用或者是影响性能的长时间运行的操作时。副作用的最简单示例是碰巧返回 a 的方法调用boolean,例如:if (firstOperation() & secondOperation()) //...当您需要确保副作用发生时,请不要短路。但是我在实践中并不经常看到它,因为首先调用具有副作用的方法,然后评估条件会更清楚,例如:boolean first = firstOperation();boolean second = secondOperation();if (first && second) //...通常你会看到短路操作符,如果不需要的话,它会避免计算第二个操作数。当第二个条件没有副作用时,这会派上用场,如果第二个条件涉及大量开销成本,它就会变得很重要。
随时随地看视频慕课网APP

相关分类

Java
我要回答