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;
   }