我们如何在JNI中新建基本类型。我有一个函数返回一个jobject
。这是可能的返回jint
,jchar
等等。
还有NewString
,为什么不NewInteger
,NewCharacter
,NewDouble
,等有一个在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。
jint
,jdouble
等等都没有jobjects
。如您所说,它们是原始变量。只需填写它们!
jint someInt = 1;
jdouble someDouble = 3.14159;
重新编辑:我明白了,你想回到盒装类型,如Integer
,Double
等呀,你贴的包装函数可能是要走的路。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句