這個 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? 我怎樣才能得到一個長班?
uj5u.com熱心網友回復:
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/497332.html
