val res1 = bool ?: a == b
Run Code Online (Sandbox Code Playgroud)
是相同的
val res1 = (bool ?: a) == b
Run Code Online (Sandbox Code Playgroud)
bool是不是null(这是true),所以(布尔:a)返回true,并true == b是false,存储在RES1结果。
这是因为?:将左侧绑定到其右侧的第一个可能参数,这仅仅是a(而非a == b您所期望的)参数。
如果Equality()的优先级高于Elvis()的优先级,那么您可以在https://kotlinlang.org/docs/reference/grammar.html#expressions上查找,这将是您期望的结果。==?:
| 归档时间: |
|
| 查看次数: |
48 次 |
| 最近记录: |