处理数组
基本类型的数组
Get<TPYE> ArrayElements(<TYPE>Array arr,jboolean* isCopied);
Release<TPYE> ArrayElements(<TYPE>Array arr,jboolean* isCopied);
GetPrimitivArrayCritical(<jarray arr,jboolean* isCopied);
Release<TPYE> ArrayElements(jarray arr,void* array,jboolean* isCopied);
//开内存放到内存中
Get<TYPE>ArrayRegion(<TYPE>Array arr,jsize start, jsize len <TYPE>* buffer);
Set<TYPE>ArrayRegion(<TYPE>Array arr,jsize start, jsize len <TYPE>* buffer);
对象类型数组
//取得数组属性
jfieldID fid_arrays=env->GetFieldID(env->GetObjectClass(obj),"arrays","[I");
jintArray jint_arr=(jintArray)env->GetObjectField(obj,fid_arrays);
//取得数组属性元素
jint* int_arr=env->GetIntArrayElements(jint_arr,NULL);
jsize len=env->GetArrayLength(jint_arr);
for(jsize i=0;i<len;++i)
{
cout<<int_arr[i]<<endl;
}
env->ReleaseIntArrayElements(jint_arr,int_arr,JNI_ABORT);
JNI学习笔记五
最新推荐文章于 2021-12-23 21:37:32 发布