代码之家  ›  专栏  ›  技术社区  ›  PPP

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

  •  0
  • PPP  · 技术社区  · 2 年前

    此Kotlin函数

     @JvmStatic external fun registerNativeWindowFromSurface(): Integer;
    

    通过返回类型找到 java/lang/Integer 但当我添加一个长:

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

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

    Kotlin的Long是java吗 long 或a java/lang/Long ? 我怎样才能上长时间的课?

    1 回复  |  直到 2 年前
        1
  •  1
  •   Silvio Mayolo    2 年前

    Integer 不是Kotlin本机整数类型。 整数 是的别名 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