Java中JNI的使用详解第三篇:JNIEnv类型中方法的使用

在来看一下C++代码:ios

#include<iostream.h>
#include "com_jni_demo_JNIDemo.h"
 
JNIEXPORT void JNICALL Java_com_jni_demo_JNIDemo_sayHello (JNIEnv * env, jobject obj)
{
//获取obj中对象的class对象
jclass clazz = env->GetObjectClass(obj);
//获取Java中的number字段的id(最后一个参数是number的签名)
jfieldID id_number = env->GetFieldID(clazz,"number","I");
//获取number的值
jint number = env->GetIntField(obj,id_number);
//输出到控制台
cout<<number<<endl;
//修改number的值为100,这里要注意的是jint对应C++是long类型,因此后面要加一个L
env->SetIntField(obj,id_number,100L);

}spa

相关文章
相关标签/搜索