💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
JNI以不同的方式处理基础类型数组和对象数组。基础类型数组由int,boolean这样的基础类型组成。对象数组则由对象实例或者其他数组的引用组成。例如在以下的Java代码段中: ~~~ int[] arr; float[] farr; Object[] oarr; int[][] arr2; ~~~ iarr和farr是基础类型数组,而oarr, arr2则是对象数组。 在原生函数中访问基础累心搞定数组需要使用一些JNI函数(就像你访问字符串那样)。让我们先从一个简单的示例看起。以下原生代码sumArray作用是对一个数组中的整型元素求和。 ~~~java class IntArray { static { System.loadLibrary("IntArray"); } private native int sumArray(int[] arr); public static void main(String[] args) { IntArray p = new IntArray(); int[] arr = new int[10]; for (int i = 0; i < 10; i ++) { arr[i] = i; } int sum = p.sumArray(arr); System.out.println("sum = " + sum); } } ~~~