2012. 8. 11. 20:05
jni double[][] 배열 가져오기 JAVA이야기2012. 8. 11. 20:05
//double 배열 클래스 타입 로딩
jclass doubleArrCls = (*jenv)->FindClass(jenv, "[D");
if (result == NULL)
return NULL;
//vector크기만큼의 배열을 선언한다.
jobjectArray ret;
int huSize = 7;
ret = (*jenv)->NewObjectArray(jenv, result.size, doubleArrCls, NULL);
for (i = 0; i < result.size; i++) {
Info hu = result[i];
jdouble tmp[256];
int j;
//휴 모멘트 배열만큼 선언한다.
jdoubleArray dArr = (*jenv)->NewDoubleArray(jenv, huSize);
for(j = 0 ; j < huSize; j++){
tmp[j] = hu[j];
}
//tmp에 huSize만큼 복사한다.
(*jenv)->SetDoubleArrayRegion(jenv, dArr, 0, huSize, tmp);
//ret에 dArr배열을 붙인다.
(*jenv)->SetObjectArrayElement(jenv, ret, i, dArr);
(*jenv)->DeleteLocalRef(jenv, dArr);
}
return ret;