JNI - Преобразование задания, представляющего базовые объекты Java (логические), в собственные базовые типы (булевы)

Думаю, мне удалось уместить большую часть вопроса в заголовок этого вопроса!

Я извлекаю объект из 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 ())

5
задан Graeme 23 June 2011 в 09:07
поделиться