如何为JNI对象数组动态分配内存

时间:2016-06-15 09:38:24

标签: c java-native-interface dynamic-memory-allocation

我正在使用C语言开发JNI。在这里,我创建了一个大小为4000的对象数组。根据我的要求,数组大小必须动态增长。如何动态分配内存?我尝试过使用malloc。但我无法做到这一点。

以下是我的尝试:

OriginalArray = (*env)->NewObjectArray(env, 4000, tradeObject, NULL);

1 个答案:

答案 0 :(得分:1)

根据我的要求,数组大小必须动态增长。

You can't use an array.

  

数组是一个容器对象,它包含固定数量的值   单一类型。数组的长度是在数组时建立的   被建造。创建后,它的长度是固定的。

如果必须更改数据,则必须使用Java数组以外的其他内容来保存数据。

或者,每当需要更改大小并将数组元素从旧数组复制到新数组时,您就可以分配 new 数组。