我可以使用 JNI 函数调用将字符串从 Java 传递到我的 C++ 例程并在 C++ 例程中修改它的值吗?
到目前为止,我已经看到了返回 jstring 的示例,但我不想这样做。我知道的另一个选项是在 C++ 中获取字符串变量的 ID 并设置它的值。
目前,我正在使用如下功能:
JNIEXPORT void JNICALL Java_myexample_ChangeString
(JNIEnv *, jobject obj, jstring strJava)
我想更改 strJava 的值。所以,本质上我要问的是 Java 是否可以通过引用传递变量而不仅仅是通过值。
谢谢。
最佳答案
Java 字符串在设计上是不可变的,您无法更改它们,即使使用 JNI 也是如此。
关于java - 如何使用 Java 和 JNI 修改传递给 C++ 例程的 jstring 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7356787/