如何读取从Java传递到JNI的对象数组
How to read an array of objects passed into JNI from Java
这听起来可能是一个新手问题,但我想知道从java传递到JNI c++的对象数组的正确读取和迭代方式。
例如,对象的签名为:
public class Node{
public String name;
public long uniqueId;
public int rank;
}
我将一个由十个节点对象组成的数组传递给一个本地方法:
nativeParse(nodes);
我想迭代这些对象,并从数据中创建新的c++对象,这样我的c++代码就可以使用它们。
任何帮助都将不胜感激!
假设newNodes[]
是对象的C++数组,您可以尝试以下操作:
JNIEXPORT void JNICALL nativeParse(JNIEnv *env, jint size, jobjectArray nodes)
{
for(int i=0; i < size; i++)
newNodes[i]= (jobject) env->GetObjectArrayElement(nodes, i);
}
相关文章:
- 通过JNI传递数据数组的最快方法是什么
- 为 NewObjectA() 函数创建 jvalues 的参数数组时出错 - JNI Invocation API
- 如何将字符串数组返回到 java JNI
- 如何在本机 c++ jni 中实现 java 类型数组
- JNI 如何将 Java 对象数组传递给相同对象类型的 C++ 数组
- 在 JNI 中附加字节数组
- 无法从JNI设置Java Int数组字段
- 如何将字符串数组从C++返回到Java(JNI)
- 我正在尝试修改一个字节数组并通过 JNI 将其从 c++ 发送到 java
- 如何修复将传输到 java 的 2d 数组代码使用 JNI
- JNI:将整数数组从Java传递到C
- 返回 JNI 中的多维数组
- JNI将字符串从Java传递到C ,然后将C 字符串传递给字符串数组
- 如何在Android中将数组从JNI返回到Java
- 如何使用JNI返回C char 2D数组
- 使用 JNI 从 Java 访问 C++ 对象数组
- 适当的JNI转换将数组项目从jobjectarray到分开const char
- 返回数组点列表的 JNI 方法中的错误
- JNI 缓存 Java 数组
- 通过 JNI 从 c++ 获取 java 数组