为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

holdtom 2022-05-20 18:31:39
直截了当:与短路和变体相比,何时使用单一&或单一更好?|&&||我似乎找不到一个更好地评估布尔表达式的两侧的示例。
查看完整描述

1 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

&&正如您所暗示的那样,您意识到短路运算符and||和非短路运算符&and之间的区别|。但这种差异何时会变得显着?当第二个表达式有副作用或者是影响性能的长时间运行的操作时。副作用的最简单示例是碰巧返回 a 的方法调用boolean,例如:


if (firstOperation() & secondOperation()) //...

当您需要确保副作用发生时,请不要短路。但是我在实践中并不经常看到它,因为首先调用具有副作用的方法,然后评估条件会更清楚,例如:


boolean first = firstOperation();

boolean second = secondOperation();


if (first && second) //...

通常你会看到短路操作符,如果不需要的话,它会避免计算第二个操作数。当第二个条件没有副作用时,这会派上用场,如果第二个条件涉及大量开销成本,它就会变得很重要。


查看完整回答
反对 回复 2022-05-20
  • 1 回答
  • 0 关注
  • 74 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信