Как мы можем новые примитивные типы в 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.