如何将 WCHAR_T* 转换为 jstring?

How to cast WCHAR_T* to jstring?

当我尝试将 WCHAR_T* 传递给 java 方法时,应用程序崩溃了。

我有 WCHAR_T* 变量和它的长度。

我知道如何将其转换为 jstring 以调用 java 方法。

我的 C++ 代码:

bool test(WCHAR_T* document){
    JNIEnv* jenv = getJniEnv();
    methodID_test = jenv->GetMethodID(cc, "test", "(Ljava/lang/String;)Z");
    return (bool)(jenv->CallBooleanMethod(obj,methodID_printDocument,document));
}

我的java代码:

public boolean test(String document) {
    return false;
}

使用NewString函数将wchar_t转换为jstring。

jstring NewString(JNIEnv *env, const jchar *unicodeChars,  jsize len);