这个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本地的整数类型。Integer
是java.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.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