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



这个Kotlin函数

@JvmStatic external fun registerNativeWindowFromSurface(): Integer;

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

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

我在参数中找不到java/lang/Long

Kotlin's Long是javalong还是java/lang/Long?我怎样才能上长课呢?

Integer不是kotlin本地的整数类型。Integerjava.lang.Integer的别名。Int是Kotlin整数类型。

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

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

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

原语类型int的类实例是java.lang.Integer.TYPElongjava.lang.Long.TYPE也一样。

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

@JvmStatic external fun registerNativeWindowFromSurface(): java.lang.Integer
@JvmStatic external fun registerNativeWindowFromSurface(id: java.lang.Long): java.lang.Integer

最新更新