jni hashmap put值
时间: 2023-11-28 08:44:25 浏览: 69
并发编程atomic&collections-课上笔记1
以下是JNI中向HashMap中put值的示例代码:
```c++
jstring jniPutHashMap(JNIEnv *env, jobject object, jobject hashMap, jstring key, jstring value) {
// 获取HashMap类
jclass hashMapClass = env->GetObjectClass(hashMap); // 获取put方法ID
jmethodID putMethodID = env->GetMethodID(hashMapClass, "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;");
// 调用put方法
jobject result = env->CallObjectMethod(hashMap, putMethodID, key, value);
// 返回结果
return (jstring) result;
}
```
在这个示例中,我们首先获取了HashMap类,并使用GetMethodID方法获取了put方法的ID。然后,我们调用CallObjectMethod方法来调用put方法,并将key和value作为参数传递。最后,我们将结果转换为jstring类型并返回。
阅读全文