JNI C创建Java字符串数组

创建Java字符串数组


注:jni中没有与String[]对应的数据类型,所以需要创建对象数组,循环添加jstring对象

#include <Sample3.h>
      #include <string.h> #include <stdlib.h> #define ARRAY_LENGTH 5 JNIEXPORT jobjectArray JNICALL Java_Sample3_stringMethod (JNIEnv *env, jobject obj, jstring string) { jclass objClass = (*env)->FindClass(env, "java/lang/String"); jobjectArray texts= (*env)->NewObjectArray(env, (jsize)ARRAY_LENGTH, objClass, 0); jstring jstr; char* sa[] = { "Hello,", "world!", "JNI", "很", "好玩" }; int i=0; for(;i<ARRAY_LENGTH;i++) { jstr = (*env)->NewStringUTF( env, sa[i] ); (*env)->SetObjectArrayElement(env, texts, i, jstr);//必须放入jstring } return texts; } 

猜你喜欢

转载自www.cnblogs.com/Free-Thinker/p/10602706.html
今日推荐