我正在尝试将jobject转换为jboolean

    jmethodID mGet = env->GetMethodID(cJsonObjClass, "get","(Ljava/lang/String;)Ljava/lang/Object;");
    jboolean val = (jboolean)env->CallObjectMethod(object, mGet , key);

得到这个编译错误:



这是什么意思,该怎么办?

最佳答案

对于使用CallObjectMethod时遇到错误的其他任何人

error: cast from pointer to smaller type 'jboolean' (aka 'unsigned char') loses information

调用返回 bool 值ist的方法的正确方法以使用CallObjectMethod
因此,这里的答案是:

改变
 jboolean val = (jboolean)env->CallObjectMethod(object, mGet , key);


jboolean val = (jboolean)env->CallBooleanMethod(object, mGet , key);

09-15 22:51