Я думаю, что мне удалось вписать большую часть вопроса в заголовок на этом!
Я извлекаю объект из Java в своем родном коде C ++:
jobject valueObject = env->CallObjectMethod(hashMapObject, hashMapGetMID, keyObject);
Для меня возможно проверить, является ли возвращаемый объект одним из нативных типов, используя что-то вроде:
jclass boolClass = env->FindClass("java/lang/Boolean");
if(env->IsInstanceOf(valueObject, boolClass) == JNI_TRUE) { }
Итак, теперь у меня есть объект задания, который, как я знаю, является логическим (обратите внимание на верхний регистр B)- Вопрос в том, что является наиболее эффективным способом (учитывая, что у меня уже есть объект задания в моем родном коде), чтобы преобразовать это в bool
.Типизация не работает, что имеет смысл.
Хотя приведенный выше пример является логическим, я также хочу преобразовать Character-> char, Short-> short, Integer-> int, Float-> float, Double->double.
(Как только я это осуществлю, я опубликую ответ на него, который выполняет Boolean.booleanValue ())