Как вернуть массив int из Java в JNI - PullRequest
9 голосов
/ 02 декабря 2011

Мне нужно вызвать метод Java из JNI.Этот метод Java возвращает массив int (int [] simpleMethod ()).Как вызвать это из JNI, чтобы получить массив в качестве возвращаемого значения?Я знаю, как это сделать, когда метод возвращает void / String / int / etc, но не смог найти ничего с массивами.У меня есть некоторые идеи, как обойти это, но, возможно, есть простой ответ.

1 Ответ

18 голосов
/ 02 декабря 2011

Используйте CallObjectMethod. Например:

jmethodID myMethod = (*env)->GetMethodID(myClass, "myMethod", "()[I");
jintArray retval = (jintArray) (*env)->CallObjectMethod(myObject, myMethod);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...