2012-02-29 67 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