是否可以在Java层访问JNI对象的Object引用?
是的,你可以。但是你不能使用它来访问它的属性。你只能将其地址作为long
值保留。
如果你想这样做,你应该在堆内存中创建C++对象,并将它们的地址作为long
数字返回。
MyClass *obj = new MyClass();
return (long) obj;
MyClass *obj = (MyClass *)thatLongNumber;
obj->someProperty; // Access its properties and methods via -> operator
MyClass *obj = (MyClass *)thatLongNumber;
- frogatto
native
方法的Java类,以便进行JNI访问。为什么不把你现在拥有的代码发布出来,这样社区就可以查看并找出最佳的前进方式了呢? - kris larson