gpt4 book ai didi

java - 在 JNI 中创建整数对象

转载 作者:搜寻专家 更新时间:2023-11-01 01:49:57 25 4
gpt4 key购买 nike

我想要一个 Integer 对象从 JNI 返回到 java 层。以下代码在调用 NewObject(env, interger, init, rc) 时崩溃。创建 Integer 对象并返回它的正确方法是什么?

jint rc = 0;

jclass intClass = (*env)->FindClass(env, "java/lang/Integer");
if (intClass == NULL) {
return NULL;
}
jmethodID init = (*env)->GetMethodID(env, intClass, "intValue", "()I");
if (init == NULL) {
return NULL;
}
jobject rc_obj = (*env)->NewObject(env, intClass, init, rc);
if (rc_obj == NULL) {
return NULL;
}

return rc_obj;

谢谢!

最佳答案

试试这个:

jclass cls = (*env)->FindClass(env, "java/lang/Integer");
jmethodID midInit = (*env)->GetMethodID(env, cls, "<init>", "(I)V");
if (NULL == midInit) return NULL;
jobject newObj = (*env)->NewObject(env, cls, midInit, number);

关于java - 在 JNI 中创建整数对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40596008/

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