3

我在 c++ 上有一个字符串数组,我需要将它返回给 Java 类。我怎样才能做到这一点?

我试过这个:

string paroleord[app.size()];
jobjectArray ret;
ret = (jobjectArray)env->NewObjectArray(app.size(),env->FindClass("java/lang/String"), 0);
for (int k = 0; k < app.size(); k++)
{
    env->SetObjectArrayElement(ret, k,env->NewStringUTF(paroleord[k]));
}

return ret;

但是我有一个错误,因为 NewStringUTF 需要一个对象作为参数,你能帮我吗?

4

1 回答 1

0

如果您可以生存,Vector或者Array您可以简单地从 C++ 代码返回集合。

它需要一些“低级”编码,但它相当简单。

看看这里:

http://jnicookbook.owsiak.org/recipe-no-045/

至于字符串本身,请看这里:

http://jnicookbook.owsiak.org/recipe-No-010/

另外,请确保转换string为字符数组。

(*env)->NewStringUTF(env, my_string.c_str());
于 2019-07-19T13:24:08.810 回答