java – JNA,结构和数组

我正在尝试创建我的类的数组(扩展JNA的结构)以传递它为DLL函数.我有从数据库到ArrayList的值,现在我需要把它们放到一个数组中.首先,我尝试使用ArrayList的toArray()方法,但在调用本机函数时它返回以下异常:

java.lang.IllegalArgumentException: Structure array elements must use contiguous memory (bad backing address at Structure array index 1)

如果我只是设置一个与ArrayList大小相同的新数组,那么当我在我的类中设置struct的’fields’时,它会返回一个NullPointerException.

有人可以帮我解决这个问题吗?

最佳答案 Structure.toArray()为您提供了一组连续分配的Structure对象.在从“值”的ArrayList初始化Structure之前,创建此Structure数组.

点赞