¡Creo que logré encajar la mayor parte de la pregunta en el título de este!JNI - Conversión de jobject que representa Basic Java Objects (Boolean) a tipos básicos nativos (bool)
estoy tirando de un objeto de Java en mi nativo de C++ código:
jobject valueObject = env->CallObjectMethod(hashMapObject, hashMapGetMID, keyObject);
Es posible que yo comprobado si el objeto de retorno es uno de los tipos nativos usando algo como:
jclass boolClass = env->FindClass("java/lang/Boolean");
if(env->IsInstanceOf(valueObject, boolClass) == JNI_TRUE) { }
Entonces, ahora tengo un jobject que sé que es un booleano (observe la letra B superior) - La pregunta es, ¿cuál es la forma más eficiente (considerando que ya tengo el jobject en mi código nativo) para convertir esto en a bool
. Typecasting no funciona, lo cual tiene sentido.
Aunque el ejemplo anterior es un booleano, también quiero convertir Character-> char, Short-> short, Integer-> int, Float-> float, Double-> double.
(una vez implementado que voy a publicar una respuesta a esto lo que hace Boolean.booleanValue())
¿Por qué no manejar el encasillado y el desempaquetado en código Java? –