jni编程无法正确传递List对象数据原因

jni编程无法正确传递List对象数据原因

问题

使用jni程序接口将java中List类型的对象传递给C++,在获取List对象长度时,获取到的长度总是为零,进而无法正确传递List对象,传递数据部分代码如下:在最后一句获取List对象时,获取到的List对象大小总是为0.
jni编程无法正确传递List对象数据原因

问题解决

通过调试发现是因为在获取数据代码下面定义了一个比较大数组,如下图所示:USR_INF user_inf[1][300];
jni编程无法正确传递List对象数据原因
将其长度减小后数据可正常传递给C++参与计算:
jni编程无法正确传递List对象数据原因