JNI对象操作

 

AllocObject

jobject AllocObject(JNIEnv *env, jclass clazz);

分配新 Java 象而不该对象的任何构造函数。返回该对象的引用。

clazz 参数必不要引用数组类

参数:

              env:JNI 接口指

              clazz:Java 类对象。

返回

             返回 Java 象。如果无法构造该对象,返回 NULL

抛出:

             InstantiationException:如果该类为一个接口或抽象

             OutOfMemoryError:如果系内存不足。

 

NewObject
NewObjectA
NewObjectV

jobject NewObject(JNIEnv *env, jclass clazz,
jmethodID methodID, ...);

jobject NewObjectA(JNIEnv *env, jclass clazz,
jmethodID methodID, jvalue *args);

jobject NewObjectV(JNIEnv *env, jclass clazz,
jmethodID methodID, va_list args);

构造新 Java 象。方法 ID指示应调用的构造函数方法。 ID 必过调GetMethodID() 得,且的方法名必须为 ,而返回型必须为 void (V)。

clazz 参数必不要引用数组类

NewObject

程人员应传递给构造函数的所有参数跟着放在 methodID 参数的后面。NewObject() 收到些参数后,将把它们传给编程人所要用的 Java 方法。

NewObjectA

程人员应传递给构造函数的所有参数放在 jvalues 型的数 args 中,组紧跟着放在 methodID 参数的后面。NewObject() 收到数中的些参数后,将把它们传给编程人所要用的 Java 方法。

NewObjectV

程人员应传递给构造函数的所有参数放在 va_list 型的参数 args 中,参数跟着放在 methodID 参数的后面。NewObject() 收到些参数后,将把它们传给编程人所要用的 Java 方法。

参数:

                env:JNI 接口指

                clazz:Java 类对象。

                methodID:构造函数的方法 ID。

NewObject 的其它参数:

               传给构造函数的参数。

NewObjectA 的其它参数:

               args传给构造函数的参数数

NewObjectV 的其它参数:

               args传给构造函数的参数 va_list。

返回

              返回 Java 象,如果无法构造该对象,返回 NULL

抛出:

             InstantiationException:如果该类为接口或抽象

             OutOfMemoryError:如果系内存不足。

             构造函数抛出的任何异常。

 

GetObjectClass

jclass GetObjectClass(JNIEnv *env, jobject obj);

返回象的

参数:

              env:JNI 接口指

              obj:Java 象(不能 NULL)。

返回

             返回 Java 类对象。

 

IsInstanceOf

jboolean IsInstanceOf(JNIEnv *env, jobject obj,
jclass clazz);

测试对象是否某个例。

参数:

             env:JNI 接口指

             obj:Java 象。

             clazz:Java 类对象。

返回

            如果可将 obj 转换为 clazz返回 JNI_TRUE。否返回 JNI_FALSENULL 象可转换为任何

 

IsSameObject

jboolean IsSameObject(JNIEnv *env, jobject ref1,
jobject ref2);

测试两个引用是否引用同一 Java 象。

参数:

             env:JNI 接口指

             ref1:Java 象。

             ref2:Java 象。

返回

            如果 ref1ref2 引用同一 Java 象或均 NULL返回 JNI_TRUE。否返回 JNI_FALSE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值