如何在 Kotlin 中使用 Java 的按位运算符?

Java 具有二进制或和二进制和运算符:|&

int a = 5 | 10;
int b = 5 & 10;

它们似乎在 Kotlin 中不起作用:

val a = 5 | 10;
val b = 5 & 10;

如何在 Kotlin 中使用 Java 的按位运算符?


答案 1

您已经为它们命名了函数。

直接来自 Kotlin 文档

按位运算由可以以中缀形式调用的函数表示。它们只能应用于 和 。IntLong

例如:

val x = (1 shl 2) and 0x000FF000

以下是按位操作的完整列表:

shl(bits) – signed shift left (Java's <<)
shr(bits) – signed shift right (Java's >>)
ushr(bits) – unsigned shift right (Java's >>>)
and(bits) – bitwise and
or(bits) – bitwise or
xor(bits) – bitwise xor
inv() – bitwise inversion

答案 2

你可以在 Kotlin 中执行此操作

val a = 5 or 10;
val b = 5 and 10;

此处列出了您可以使用的操作

shl(bits) – signed shift left (Java's <<)
shr(bits) – signed shift right (Java's >>)
ushr(bits) – unsigned shift right (Java's >>>)
and(bits) – bitwise and
or(bits) – bitwise or
xor(bits) – bitwise xor
inv() – bitwise inversion

推荐