【发布时间】:2012-03-13 20:19:37
【问题描述】:
我正在尝试创建我的类的数组(扩展 JNA 的结构)以将其传递给 DLL 函数。我有从数据库读取到 ArrayList 的值,现在我需要将它们放入数组中。首先,我尝试使用 ArrayList 的 toArray() 方法,但是当我调用本机函数时它返回以下异常:
java.lang.IllegalArgumentException: Structure array elements must use contiguous memory (bad backing address at Structure array index 1)
如果我只是设置一个与 ArrayList 大小相同的新数组,当我在我的类中设置结构的“字段”时,它会返回 NullPointerException。
有人可以帮我解决这个问题吗?
【问题讨论】:
-
请显示您用于转换为数组的代码:)
-
这很简单。 MyClass myClass = new MyClass(); MyClass[] myArray = (MyClass[]) myClass.toArray(sizeOfArray);