【发布时间】:2014-10-01 16:57:57
【问题描述】:
我正在使用 JNI 在我的 java 客户端中调用 c++ 方法。在其中一种方法中,我传入一个整数数组列表,并希望在 c++ 中取出一个整数数组。当我通过 JNI 传递 ArrayList 时,我得到了一个 jObject。如何将该对象转换为整数数组?
我发现这篇文章很相似,但使用了一个字符串数组列表: JNI - java ArrayList conversion to c++ std::string*
关于如何修改使用整数的任何想法?我尝试将 std::string 引用更改为 int,但没有运气。
【问题讨论】:
-
This 可能会有所帮助。
-
似乎在做相反的事情,将数组列表传回给java。这不是我遇到问题的 JNI,而是我遇到问题的从 jObject 到整数数组的转换(其中 jObject 是 java 中的整数数组列表)
-
只需通过 jni 的 size() 和 get(int) 方法遍历 arrayList 对象
-
... 或将 ArrayList
转换回 int[] 然后再传回。
标签: java c++ arraylist java-native-interface