如何使用Java和JNI修改传递给C++例程的jstring的值?

use*_*272 3 java java-native-interface

我可以使用JNI函数调用将字符串从Java传递到我的C++例程并在C++例程中修改其值吗?

到目前为止,我已经看到了返回jstring的例子,我不想这样做.我知道的另一个选项是在C++中获取字符串变量的ID并设置其值.

目前,我正在使用如下功能:

JNIEXPORT void JNICALL Java_myexample_ChangeString
(JNIEnv *, jobject obj, jstring strJava) 
Run Code Online (Sandbox Code Playgroud)

我想改变strJava的价值.所以,基本上我要问的是Java是否可以通过引用而不仅仅是通过值传递变量.

谢谢.

K-b*_*llo 6

Java字符串在设计上是不可变的,您无法更改它们,甚至不能使用JNI.