JNI新原始类型

庆祝:

我们如何在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。

克里斯·杰斯特·杨(Chris Jester-Young):

jintjdouble等等都没有jobjects如您所说,它们是原始变量。只需填写它们!

jint someInt = 1;
jdouble someDouble = 3.14159;

重新编辑:我明白了,你想回到盒装类型,如IntegerDouble等呀,你贴的包装函数可能是要走的路。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章