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

标签 java kotlin bitwise-operators bitwise-and bitwise-or

Java 有 binary-or |binary-and & 运算符:

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

它们似乎不适用于 Kotlin:

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

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

最佳答案

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

直接来自 Kotlin docs

Bitwise operations are represented by functions that can be called in infix form. They can be applied only to Int and Long.

例如:

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

关于java - 如何在 Kotlin 中使用 Java 的位运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48474520/

相关文章:

java - 在 Java 中登录 - 每次变量更改时自动转储变量值的任何方式

java - 是否有一种通用的方法来反序列化 Jackson 中的单值对象(没有自定义反序列化器)

android - RecyclerView、数据绑定(bind)和 ViewModel 没有数据

c - 非 sse2 架构上 128 位值的按位运算

c++ - 在数字的右边使用左移运算符

java - 将多个数组转换为一个大的多维数组以及如何操作它

java - 复制 Intent/更改源 Activity 和目标类

java - 保护在 Android 设备和服务器之间发送的数据

kotlin - 您如何在Kotlin中进行合格的父类(super class)构造函数调用?

c - '(unsigned)1' 和 '(unsigned)~0' 之间的区别