Думаю, мне удалось уместить большую часть вопроса в заголовок этого вопроса!
Я извлекаю объект из 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 ())