2015-05-21 54 views
0

我需要將bool添加到object map,我的bool被定義爲原語,我需要將其轉換爲對象。無法將'const bool'轉換爲'jobject

我該怎麼做?

+0

你嘗試過什麼?它怎麼不工作?你能否顯示你的代碼的相關部分? –

+0

我的簽名如下:put(JNIEnv * env,jobject map,jobject key,jobject value) 但我試圖把一個原始的,我是新來的C++,所以我不知道的語法來投射或轉換我的原始對象 –

+0

@Lena請問您可以根據[this](http://stackoverflow.com/help/mcve)model – laurisvr

回答

0

您可以將布爾轉換爲jboolean然後框jboolean爲布爾jobject用JNI調用是這樣的:

jboolean value = true; 

jclass booleanClass = env->FindClass("java/lang/Boolean"); 
jmethodID methodID = env->GetMethodID(booleanClass, "<init>", "(Z)V", false); 
jobject booleanObject = env->NewObject(booleanClass, methodID, value); 
+0

B在問題中包含代碼嗎?不是Z?這只是文字,使評論更長,雖然它是絕對不需要,需要被忽略 –

+0

你說得對,它是Z. – samgak