小编Sco*_*ott的帖子

从JNI代码中检查Java类中是否存在可选字段或方法

我有一个Java类可以被子类化以添加一个额外的字段.有一个相应的C++ JNI方法将与该字段进行交互.但是,我希望JNI代码同时处理基类和子类,这意味着它必须检测字段是否存在.

我的(简化)JNI代码如下所示:

fid = j.GetFieldID( jc, UTF8_SECPARM, SIG_SECPARM );
if ( fid == 0 ) return;
... continue with fid ...
Run Code Online (Sandbox Code Playgroud)

尽管GetFieldID()方法返回NULL,但应用程序在处理的某个进一步的点处获得异常,这看起来与此代码无关.然而,它在某种程度上是相关的,因为如果我只是在GetFieldID()方法之前返回,则没有异常.

如何从JNI代码中可靠地测试对象中字段或方法的存在?

c c++ java java-native-interface exists

5
推荐指数
1
解决办法
603
查看次数

标签 统计

c ×1

c++ ×1

exists ×1

java ×1

java-native-interface ×1