Scala - 布尔值 - & 与 &&, |与||

问题描述 投票:0回答:1

我刚刚注意到在 Scala 中

Boolean
同时支持
&
&&
。这两个运算符有区别吗? Scala 文档对它们使用完全相同的描述,所以我不确定。

scala boolean operators
1个回答
49
投票

&
|
是严格的,而
&&
||
是短路:

false && (throw new Exception()) => false
false & (throw new Exception()) => ex

true || (throw new Exception()) => true
true | (throw new Exception()) => ex

&

|
的完整
文档
有一个解释此行为的注释:

此方法同时评估

a
b
,即使结果已经是 评估后确定
a

© www.soinside.com 2019 - 2024. All rights reserved.