Je veux transférer une carte C++ vers Java et je n'ai aucune idée de la manière de définir le paramètre de retour pour que la méthode fonctionne. Je n'ai eu aucun problème avec string ou int comme paramètres de retour, mais je n'arrive pas à faire fonctionner map.
Ma méthode Java ressemble à ceci :
private native Map<String,String> sayHello();
Mon code C++ est :
#include <stdio.h>
#include "stdafx.h"
#include "jni.h"
#include "HelloJNI.h"
#include <utility>
#include <map>
#include <string.h>
#include <iostream>
using namespace std;
JNIEXPORT jobject JNICALL Java_HelloJNI_sayHello
(JNIEnv *, jobject)
{
map<string, string> mMap;
mMap["1"] = "Ladi";
mMap["2"] = "Dida";
return mMap;
}
Et bien sûr, j'obtiens une erreur, me disant que je dois convertir mMap en jobject d'une manière ou d'une autre. Mais je n'ai aucune idée de comment faire.
J'espère qu'il ne s'agit pas d'un double post, je viens de trouver quelques questions concernant la transmission des listes.
Merci d'avance.