Java 如何使用jobject数组?(Jni) 实际上,我称C++函数为:

Java 如何使用jobject数组?(Jni) 实际上,我称C++函数为:,java,parsing,object,java-native-interface,Java,Parsing,Object,Java Native Interface,JNIEXPORT void JNICALL Java_test_main_JniFunctions_testObject JNIEnv*env、jobject obj、jobjectArray objArray{..} 我想做的是,得到原始对象的值。考虑此对象的java代码声明: jniFct.testObject(new Object[][] { {"testTable"}, {0, 0.0, "aaa"},

JNIEXPORT void JNICALL Java_test_main_JniFunctions_testObject JNIEnv*env、jobject obj、jobjectArray objArray{..}

我想做的是,得到原始对象的值。考虑此对象的java代码声明:

jniFct.testObject(new Object[][]
        {   
            {"testTable"},
            {0, 0.0, "aaa"},
            {1, 1.1, "bbb"},
            {2, 2.2, "ccc"}
        });
在示例中,从第二列的第三行获取值


任何人都知道怎么做吗???

谢谢,但它给了我一个错误::>智能感知:const char类型的值不能用于初始化char类型的实体,如果我将char*更改为字符串,它给了我一种更有趣的值编译错误。我认为,您需要使用constchar*cvalue。我将编辑答案…还有一个问题!^^不管怎样,C++代码知道数据类型::字符串、int、双、…这样我就可以把它放到好的变量类型中?或者有没有一种通用类型可以用来存储这些变量??
jobject row = env->GetObjectArrayElement(objArray, 2);
jobject value = env->GetObjectArrayElement((jobjectArray)row, 1);
const char* cvalue = env->GetStringUTFChars((jstring)value, 0);