私はこの問題のほとんどをこのタイトルのタイトルに当てはめることができました。JNI - 基本Javaオブジェクト(ブール値)を表すjobjectをネイティブの基本型(ブール値)に変換する
私はネイティブC++コードで、Javaからオブジェクトを引き戻すことだ:
jobject valueObject = env->CallObjectMethod(hashMapObject, hashMapGetMID, keyObject);
私は戻りオブジェクト天気をチェックすることが可能だがのようなものを使用してネイティブ型のいずれかです。
jclass boolClass = env->FindClass("java/lang/Boolean");
if(env->IsInstanceOf(valueObject, boolClass) == JNI_TRUE) { }
これで、私はブール値であることを知っているjobjectを持っています(大文字のBに注意してください)。質問は、これを(これは私のネイティブコードでjobjectを持っていると考えています) a bool
。タイプキャスティングは意味をなさない。
上記の例はブール値ですが、Character-> char、Short-> short、Integer-> int、Float-> float、Double-> doubleも変換したいと考えています。
(私はそれを実装した後、私はBoolean.booleanValue()を行い、この答えを掲載する予定)
Javaコードで型キャストとアンボックスを処理するだけではどうですか? –