Kotlin“^=”运算符

fbo*_*kov 3 kotlin

Kotlin 是否有类似于 Java 的^=(异或和赋值)运算符?

例如,在Java中我们可以简单地写

a ^= b
// a = a ^ b
Run Code Online (Sandbox Code Playgroud)

看起来在 Kotlin 中我们需要显式地赋值

a = a xor b
Run Code Online (Sandbox Code Playgroud)

是否可以避免aKotlin 代码中变量的重复?

小智 5

与 C、C++ 和 Java 不同,Kotlin 没有 \xe2\x80\x99 等按位运算符 |(按位或)、&(按位与)、^(按位异或)、<<(有符号左移)、>> (有符号右移)等

\n\n

为了执行按位运算,Kotlin 提供了以下适用于 Int 和 Long 类型的方法 -

\n\n
    \n
  • shl - 有符号左移(相当于 << 运算符)
  • \n
  • shr - 有符号右移(相当于 >> 运算符)
  • \n
  • ushr - 无符号右移(相当于 >>> 运算符)
  • \n
  • and - 按位与(相当于 & 运算符)
  • \n
  • or - 按位或(相当于 | 运算符)
  • \n
  • xor - 按位异或(相当于 ^ 运算符)
  • \n
  • inv - 按位求补(相当于 ~ 运算符)
  • \n
\n