// [feature 1 ] copy vector value to array
vector<int> vec ;
for (int i = 0 ;i<10;++i)
{
vec.push_back(i);
printf("%d",vec.at(i));
}
int vecSize = vec.size();
if (vecSize == 0) return;
int *arr = new int[vec.size()]; //初始化数组大小 New
for (int i = 0 ;i<vec.size();++i)
{
arr[i] = vec.at(i);
printf("%d",arr[i]);
}
JniMethodInfo t;
// [feature 2 ] copy array to jintArray
// [REF jni.h] void SetIntArrayRegion(jintArray array, jsize start, jsize len, const jint* buf)
jintArray ja= t.env->NewIntArray((jint)vecSize); //if (ja == NULL) return NULL;
jint bf[vecSize];
for (int i = 0;i<vecSize;++i)
{
bf[i]=arr[i];
}
t.env->SetIntArrayRegion(ja,0,vecSize,bf)
t.env->CallStaticVoidMethod(t.classID, t.methodID, ja);
t.env->DeleteLocalRef(t.classID);
delete [] arr; // 释放