gpt4 book ai didi

java - JNI 新的原始类型

转载 作者:搜寻专家 更新时间:2023-10-31 19:42:14 25 4
gpt4 key购买 nike

我们如何在 JNI 中创建新的原始类型。我有一个返回 jobject 的函数。可以返回jintjchar

NewString,为什么没有NewIntegerNewCharacterNewDouble等。没有自动装箱目前的 JNI 层。

我可以使用 NewObject 调用,但这对于创建基本类型来说开销太大。

jobject NewInteger(JNIEnv* env, jint value)
{
jclass cls = FindClass(env, "java/lang/Integer");
jmethodID methodID = GetMethodID(env, cls, "<init>", "(I)V", false);
return env->NewObject(cls, methodID, value);
}

我有包装函数来获取 Class 和 MethodID。

最佳答案

jintjdouble 等不是jobjects。正如您所说,它们是原始变量。只需填写即可!

jint someInt = 1;
jdouble someDouble = 3.14159;

重新编辑:我明白了,你想返回 boxed 类型,如 IntegerDouble 等。是的,你发布的包装函数可能是要走的路。

关于java - JNI 新的原始类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2495742/

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