小编典典

Kotlin JNI 中 Long 类的名称是什么?

all

这个 Kotlin 函数

 @JvmStatic external fun registerNativeWindowFromSurface(): Integer;

是通过返回类型找到的,java/lang/Integer但是当我添加一个 Long 时:

 @JvmStatic external fun registerNativeWindowFromSurface(id: Long): Integer;

java/lang/Long我在争论中找不到它。

Kotlin 的 Long 是 javalong还是java/lang/Long? 我怎样才能得到一个长班?


阅读 86

收藏
2022-06-29

共1个答案

小编典典

Integer不是 Kotlin 原生的整数类型。Integer是 的别名java.lang.IntegerInt是 Kotlin 整数类型。

@JvmStatic external fun registerNativeWindowFromSurface(): Int
@JvmStatic external fun registerNativeWindowFromSurface(id: Long): Int

这些将编译为带有签名的函数

int registerNativeWindowFromSurface();
int registerNativeWindowFromSurface(long id);

原始类型的类实例intjava.lang.Integer.TYPE. 对于long和 也是如此java.lang.Long.TYPE

如果您确实打算使用 Java 盒装类型,则可以使用它们的完全限定名称来引用它们。

@JvmStatic external fun registerNativeWindowFromSurface(): java.lang.Integer
@JvmStatic external fun registerNativeWindowFromSurface(id: java.lang.Long): java.lang.Integer
2022-06-29