Каков предпочтительный способ передачи массива небольших объектов из Java в нативный код - PullRequest
0 голосов
/ 12 ноября 2011

Учитывая простой 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) и использовать GetArrayLength, GetObjectArrayElement и GetIntField?

В этом случае «лучше» намеренно расплывчато.Производительность и ремонтопригодность являются проблемами.

1 Ответ

0 голосов
/ 12 ноября 2011

В вашем конкретном случае проще передавать отдельные значения в качестве параметров.Тем не менее, он будет загромождать ваш Java-код, как только объект станет более сложным.

Сказал, что я не вижу большой разницы, предпочитая один путь другому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...