扫码阅读
手机扫码阅读

JNI:取得Java属性和设置Java属性值

169 2024-07-22

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:JNI:取得Java属性和设置Java属性值
文章来源:
BUG弄潮儿
扫码关注公众号
Java属性操作和方法调用摘要

取得Java属性/设定Java属性值

在获取Java属性对应的jfieldID后,可以使用一系列JNI函数对Java属性进行操作。对于类实例属性,可以使用如Set/GetBooleanFieldSet/GetByteField 等方法,而对于类静态属性,可用的方法包括Set/GetStaticBooleanFieldSet/GetStaticByteField等。获取数组类型的属性可以通过GetObjectField实现,也有专门用于操作数组属性的JNI方法。

案例

在C/C++中修改Java中的属性

在Java代码中定义了TestNative类和整数属性number,C++代码演示了如何获取这个属性的类和标识符,并修改它的值。C++代码调用GetIntField获取属性值,然后使用CallBooleanMethodjvalue数组来调用Java方法。

在C/C++中调用Java中的方法

Java的TestNative类中定义了一个比较两个双精度浮点数并返回最大值的方法max。C++代码演示了如何通过JNI获取这个方法的jmethodID,然后使用CallDoubleMethod来调用这个方法并获取返回值。

想要了解更多内容?

查看原文:JNI:取得Java属性和设置Java属性值
文章来源:
BUG弄潮儿
扫码关注公众号