我通过JNI从c++调用了一个Java方法。这个Java方法返回一个枚举STATUS。在我的c++代码中,我已经有表示枚举的jobjects,就像这里所示:https://dev59.com/Jmgu5IYBdhLWcg3wln8O#17441151
jclass clSTATUS = env->FindClass("MyClass$STATUS");
jfieldID fidONE = env->GetStaticFieldID(clSTATUS , "ONE", "LMyClass$STATUS;");
jobject STATUS_ONE = env->GetStaticObjectField(clSTATUS, fidONE);
所以,这个调用
jobject o = env->CallObjectMethod(jTestobject, test);
返回一个表示枚举状态的jobject,特别是"ONE"。那么我怎样才能知道它返回了哪个枚举值呢?我尝试将其与STATUS_ONE
进行比较,但它们不匹配。
o
与STATUS_ONE
进行比较的? - Samhainequals
方法。不确定env->IsSameObject(o,STATUS_ONE)
是否调用了它。 - Samhain