gpt4 book ai didi

java-native-interface - JNI : Create HashMap

转载 作者:行者123 更新时间:2023-12-04 01:32:59 31 4
gpt4 key购买 nike

如何在 JNI 中创建 HashMap 对象?

最佳答案

这是代码,您需要修改才能工作

jclass mapClass = (*env)->FindClass(env, "java/util/HashMap");
if(mapClass == NULL)
{
return NULL;
}


jsize map_len = 1;

jmethodID init = (*env)->GetMethodID(env, mapClass, "<init>", "(I)V");
jobject hashMap = (*env)->NewObject(env, mapClass, init, map_len);

jmethodID put = (*env)->GetMethodID(env, mapClass, "put",
"(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;");

while( ... )
{
jint key = ...;
size_t sz = t->count;
jbyteArray dd = (*env)->NewByteArray(env, sz);
for(i = 0; i < sz; i++)
{
(*env)->SetByteArrayRegion(env, dd, i, 1, *data++);
}

(*env)->CallObjectMethod(env, hashMap, put, key, dd);

(*env)->DeleteLocalRef(env, key);
(*env)->DeleteLocalRef(env, dd);
}

(*env)->DeleteLocalRef(env, hashMap);
(*env)->DeleteLocalRef(env, mapClass);

关于java-native-interface - JNI : Create HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4844022/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com