我可以使用JNI函数调用将字符串从Java传递到我的C ++例程,并在C ++例程中修改它的值吗?
到目前为止,我已经看到了返回的jstring的例子,我不想这样做。 我知道的另一个选项是获取C ++中字符串变量的ID并设置其值。
目前,我玩的功能如下:
JNIEXPORT void JNICALL Java_myexample_ChangeString (JNIEnv *, jobject obj, jstring strJava)我想改变strJava的价值。 所以,我要问的是,Java是否可以通过引用传递变量,而不仅仅是通过值。
谢谢。
Can I pass a string from Java to my C++ routine using JNI function calls and modify its value in the C++ routine?
So far, I have seen examples of returning jstring, which I do not want to do. The other option that I know about is to get the ID of the string variable within C++ and set its value.
At present, I am playing with a function like the following:
JNIEXPORT void JNICALL Java_myexample_ChangeString (JNIEnv *, jobject obj, jstring strJava)And I want to change strJava's value. So, essentially what I am asking is if it Java can pass variables by reference and not just by value.
Thanks.
最满意答案
Java字符串通过设计是不可改变的,您不能更改它们,即使使用JNI也不行。
Java strings are immutable by design, you cannot change them, not even with JNI.
更多推荐
发布评论