Я не правильно понял, но я думаю, вам нужно что-то подобное:
void methodToCallJava(std::vector<YourClassCpp*> itens) {
JNIEnv* env;
YourSavedJVM->AttachCurrentThread(&env, NULL);
jclass clazzDelegate = env->FindClass("your/delegate/class");
jclass clazzYourClassJava = env->FindClass("your/class/java");
jmethodID methodIdDelegate = env->GetMethodID(clazzDelegate, "delegateMethod", "(Ljava/util/ArrayList;)V");
jobjectArray arrayListFromCpp = nullptr;
jsize arrayListFromCppLength = itens.size();
if (arrayListFromCppLength > 0)
arrayListFromCpp = env->NewObjectArray(arrayListFromCppLength, clazzYourClassJava, methodToCreateJavaObjectFromCppObject(env, itens.at(0)));
for (jsize c = 1; c < arrayListFromCppLength; c = c + 1)
env->SetObjectArrayElement(arrayListFromCpp, c, methodToCreateJavaObjectFromCppObject(env, itens.at(c)));
env->CallVoidMethod(this->delegate, methodIdDelegate, arrayListFromCpp);
}