Скажите, что у меня есть класс MyClass в Java, есть ли способ зарегистрироваться в JNI это a jobject
a MyClass[][]
?
Моя начальная идея состояла в том, чтобы использовать env->IsInstanceOf(myobj, myArrayClass)
, но вызов env->FindClass("[MyClass")
броски a NoClassDefFoundError
.
Немного ржавый на JNI, но кое-что:
Вызов FindClass ()
для вашего полного имени класса, используя "/" вместо точек в качестве разделителя. Так, например, если ваш класс "my.package.MyClass"
, вы должны вызвать env-> FindClass ("my / package / MyClass")
Поскольку у вас есть два- размерный массив вашего типа объекта, вам нужно дважды вызвать env-> GetObjectArrayElement ()
; один раз, чтобы получить строку, и другой раз, чтобы получить отдельный элемент. Затем вы можете вызвать env-> IsInstanceOf ()
для этого элемента. Убедитесь, что вы нашли правильные подписи для этих вызовов JNI, я оставил их в качестве упражнения для читателя :)