69

Java 有二元或 |二元与 &运算符:

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

它们似乎不适用于 Kotlin:

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

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

4

2 回答 2

90

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

直接来自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
于 2018-01-27T09:46:57.000 回答
21

你可以在 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
于 2018-01-27T09:50:57.553 回答