【发布时间】:2013-08-23 08:19:51
【问题描述】:
我理解下面的区别(至少对于 Java):
if( true || false ) // short-circuiting boolean operator
if( true | false ) // non-short-circuiting boolean operator
但我的问题是,在处理布尔表达式时是否有任何理由使用非短路运算符?练习?
【问题讨论】:
-
你不能不小心将
|用作位运算符;两个操作数都必须是布尔值或整数。在条件表达式中,您只能使用布尔值。 -
@cHao 是的,正确的。无论如何,在我看到您的评论之前将其删除,因为它与实际问题并没有那么相关。
-
根据我的经验,98% 的非短路运算符是拼写错误,剩下的 2% 是糟糕的设计或危险代码。太容易错过了。想想开发人员在 5 年后维护您的代码。
标签: java bitwise-operators logical-operators short-circuiting