如何从 Java JNI 获取原始类型的类

Guy*_*y B 1 java java-native-interface

这个问题与这个问题及其答案有关:

在 Java 中 int.class 是否等于 Integer.class 或 Integer.TYPE?

由于 int.class 不等于 Integer.class 我怎样才能通过 JNI 在本机级别获得 int.class Class 或其他原始类型?我需要指向 int.class 而不是 Integer.class 的 jclass 对象。

Evg*_*eev 5

这个测试

    System.out.println(Integer.TYPE == int.class);
Run Code Online (Sandbox Code Playgroud)

打印true。也就是说, Integer.TYPE 就是你想要的,你可以从本机代码中读取 Integer.TYPE 字段。或者Class.getPrimitiveClass("int")从本机代码调用