2012-02-29 66 views
0

我怎样才能通过一个TreeMap - 地图< String,int []> treeMap - 从Java到C++通过JNI?JNI:我怎样才能通过一个TreeMap从Java到C++

目前我从Java传递一个String数组(=键)到C++并初始化一个映射 - std :: map < std :: string,std :: vector> myMapVector - 在C++中。 在第二种方法中,我从Java传递一个string = key和一个int数组,并将该向量填充到我之前创建的地图中。

谢谢。

回答

0

你可以通过树状图,并直接使用它:

http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/design.html#wp1253

+0

感谢。所以你建议直接访问Java对象(= myMap)? – Florian 2012-03-01 01:43:01

+0

这可能是最有效的方法,因为您避免重建树。 – svachalek 2012-03-01 03:19:23

+0

我设法实现你的解决方案。我能够访问Java HashMap字段。要使用我的HashMap,我必须构建我的“接口”到java/util/HashMap类。然后我可以通过JNI使用java/util/HashMap类的get方法。但是你怎么想 - 当我使用jstring作为参数从JNI调用getter方法时,我会更快 - 我将其用作HashMap的关键字。然后让Java完成这项工作,然后返回一个jintarray。 – Florian 2012-03-02 01:19:55