Мне нужно вызвать функцию класса java, которая возвращает карту строки в качестве ключа и список объекта класса в качестве значения.Я вызываю функцию Java из c ++ с использованием JNI.
Я успешно вызвал функцию и сохранил возвращенную карту Java в переменной JNI 'jobject'.Теперь мне нужно перебрать элементы на карте и использовать их значения, но я не могу найти, как это сделать.
Структура карты Java похожа на
'Map<String, List<ErrorLogger.ErrorObject>>'
Где ErrorLogger равен 'открытый интерфейс ErrorLogger 'и ErrorObject определен в ErrorLogger как' общедоступный статический конечный класс ErrorObject '.
В коде C ++: я получаю эту карту в jmapobj
//Create Map object
jclass clsMap = env->FindClass("java/util/Map");
jmethodID constructorID = env->GetMethodID(clsMap, "<init>", "()V");
jobject jmapobj = env->NewObject(clsMap, constructorID);
//Call method
jmapobj = env->CallStaticObjectMethod(Cls, method, arg);
Может кто-нибудь, пожалуйста, помогите мнес этим.