将本机指针存储在Java对象中的"正确"方法是什么?
我可以将指针视为Java int
,如果我碰巧知道本机指针的大小是<= 32位,或者long
如果我碰巧知道本机指针的大小是<= 64位的话.但有没有更好或更清洁的方法来做到这一点?
编辑:从JNI函数返回一个指针原生到底是什么我也不想做.我宁愿返回一个代表本机资源的Java对象.但是,我返回的Java对象必须有一个包含指针的字段,这使我回到原始问题.
或者,是否有一些更好的方法让JNI函数返回对本机资源的引用?
IIRC,无论是java.util.zip
和java.nio
只使用long
.