gpt4 book ai didi

java - 在JNI层填充一个字符串数组

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:30:21 25 4
gpt4 key购买 nike

我是 Java 编程新手,有一个基本问题。我想将一个字符串数组传递给 JNI 层。 JNI函数里面可以用字符串填充数组吗?所有帖子要么讨论如何从 JNI 层返回字符串数组,要么讨论如何在 JNI 层解析字符串数组。可能吗?

谢谢

最佳答案

是的,这是可能的。有一个 example here那正是你想要的。您需要在 java 中从 JNI 端创建数组和字符串(类似于调用 new String(char[]))。支持 Unicode 和 UTF-8(每个都有一个 JNI 函数集)。

#include <jni.h>
#include "ArrayHandler.h"

JNIEXPORT jobjectArray JNICALL Java_ArrayHandler_returnArray
(JNIEnv *env, jobject jobj)
{
jobjectArray ret;
int i;

char *message[5]= {"first",
"second",
"third",
"fourth",
"fifth"};

ret= (jobjectArray)env->NewObjectArray(5,
env->FindClass("java/lang/String"),
env->NewStringUTF(""));

for(i=0;i<5;i++) {
env->SetObjectArrayElement(
ret,i,env->NewStringUTF(message[i]));
}

return(ret);
}

关于java - 在JNI层填充一个字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15041002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com