将一组小对象从Java传递到本机代码的首选方法是什么

时间:2011-11-11 23:14:28

标签: java java-native-interface

给出一个简单的Java类:

class MyData {
    public int a;
    public int b;
    public int c;
    public int d;
}

我需要传递给本机代码的MyData data[],最好是这样做:

for (MyData item : data) {
    myNativeMethod(item.a,item.b,item.c,item.d);
}

或者myNativeMethod(data)并使用GetArrayLengthGetObjectArrayElementGetIntField会更好吗?

在这种情况下,“更好”是故意模糊的。性能和可维护性都是问题。

1 个答案:

答案 0 :(得分:0)

在您的特定情况下,将单个值作为参数传递更为简单。但是,一旦对象变得更复杂,它将使Java代码混乱。

说,我不认为一种方式比另一种方式更大。