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

相關文章
相關標籤/搜索