您必须在C ++中为ArrayList创建包装器。就像是:
vector <char*> vec;jclass clazz = (*env).FindClass("java/util/ArrayList");jobject obj = (*env).NewObject(clazz, (*env).GetMethodID(clazz, "<init>", "()V"));for (int n=0;n<vec.size();n++){ char* str = (char*) static_cast<char*>(vec[n]); jstring _str = (*env).NewStringUTF(str); (*env).CallVoidMethod(object, (*env).GetMethodID(clazz, "add", "(java/lang/Object)V"), _str);}return obj;有关更多信息,请参见:
http://download.oracle.com/javase/1.4.2/docs/guide/jni/spec/functions.html



