如何在Kotlin中实现布尔值XOR?函数使用方法困惑求解
在Kotlin中使用XOR判断两个布尔值是否恰好一个为true
别担心,其实你查到的这个infix fun xor(other: Boolean): Boolean函数完全能满足你的需求,而且用起来特别简单!
两种使用方式
因为它是infix(中缀)函数,所以有两种写法:
- 中缀表达式写法(更简洁易读,推荐):
a xor b - 常规函数调用写法:
a.xor(b)
代码示例
下面直接看不同场景下的效果,一目了然:
fun main() { // 场景1:一个true一个false → 符合要求,返回true val case1 = true xor false println(case1) // 输出: true // 场景2:反过来,一个false一个true → 同样返回true val case2 = false xor true println(case2) // 输出: true // 场景3:两个都为true → 不符合,返回false val case3 = true xor true println(case3) // 输出: false // 场景4:两个都为false → 不符合,返回false val case4 = false xor false println(case4) // 输出: false }
逻辑说明
这个xor函数的核心逻辑就是:当两个布尔值的状态不同时返回true,状态相同时返回false,刚好完全匹配你要的「恰好有一个为true」的判断条件,不用自己再手动写复杂的逻辑啦~
内容的提问来源于stack exchange,提问作者unknown1
相关产品推荐
相关产品推荐

