这个 Kotlin 函数
@JvmStatic external fun registerNativeWindowFromSurface(): Integer;
是通过返回类型找到的,java/lang/Integer但是当我添加一个 Long 时:
java/lang/Integer
@JvmStatic external fun registerNativeWindowFromSurface(id: Long): Integer;
java/lang/Long我在争论中找不到它。
java/lang/Long
Kotlin 的 Long 是 javalong还是java/lang/Long? 我怎样才能得到一个长班?
long
Integer不是 Kotlin 原生的整数类型。Integer是 的别名java.lang.Integer。Int是 Kotlin 整数类型。
Integer
java.lang.Integer
Int
@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。
int
java.lang.Integer.TYPE
java.lang.Long.TYPE
如果您确实打算使用 Java 盒装类型,则可以使用它们的完全限定名称来引用它们。
@JvmStatic external fun registerNativeWindowFromSurface(): java.lang.Integer @JvmStatic external fun registerNativeWindowFromSurface(id: java.lang.Long): java.lang.Integer