我想使用 JNI 遍历给定类的对象的所有字段值。我找到了 JVMTI 方法GetClassFields
来获取jfieldID
对象字段的 s。在 JNI API 中,我找到了方法Get<type>Field
。但是,要使用这些方法,我首先必须知道我处理的是基元、某种类型的数组还是对象之一。我找到了一个 JNI 方法ToReflectedField
,所以我可以调用反射 API 的 Java 方法。但是,这似乎过于复杂且容易出错。
有没有办法使用 JNI 或 JVMTI 的本机函数来实现这一点?