如何在Kotlin中使用XOR

时间:2018-02-07 19:55:54

标签: kotlin

我想执行XOR以查找两个布尔值a和b中的一个是否为真,但不是两个。在Kotlin中搜索XOR给了我这个答案

  

infix fun xor(other: Boolean): Boolean

     

在此布尔值与另一个布尔值之间执行逻辑xor运算。 source

我仍然对如何实现这个

感到困惑

2 个答案:

答案 0 :(得分:9)

这是可以在任何Boolean上调用的扩展程序。您可以像这样使用它:

true.xor(false)

或者这个:

true xor false

最后一个有效,因为该函数定义为infix

Boolean上定义的其他类似扩展程序为andornot

//very useful example
true.not().or(true).and(false).xor(true)

答案 1 :(得分:1)

在数组中找出除一个元素外每个元素都有重复的单个数字。

var a = 0
for (i in numsArray){
    a = a xor i
}
return a

例如。输入 = [2,2,1] 出 = 1