Java 将本机类型转换为jni类型

Java 将本机类型转换为jni类型,java,c++,c,java-native-interface,native,Java,C++,C,Java Native Interface,Native,看看这个问题。 如果我想编写一个本机方法遍历器(字符串路径),返回一个值,该怎么办?如何在Java类型中转换C中返回本机方法遍历器(字符串路径)的长int类型?例如,如何将long int转换为jlong? 如果我想写一个方法 public native long Traverser (String path), 此代码是否正确 JNIEXPORT jlong JNICALL Java_ParallelIndexation_Traverser(JNIEnv* env, jobject obj,

看看这个问题。 如果我想编写一个本机方法遍历器(字符串路径),返回一个值,该怎么办?如何在Java类型中转换C中返回本机方法遍历器(字符串路径)的长int类型?例如,如何将long int转换为jlong? 如果我想写一个方法

public native long Traverser (String path),
此代码是否正确

JNIEXPORT jlong JNICALL Java_ParallelIndexation_Traverser(JNIEnv* env, jobject obj, jstring path) 
{ 
    long int result;
    const jbyte* path2 = env->GetStringUTFChars(path, nullptr); 
    if (path2 == nullptr) 
        return; 

    result=Traverser(path2); 

    env->ReleaseStringUTFChars(path, path2); 
    return result;
} 
?

还是有必要转换

long int result 

以及Java_ParallelIndexation_Traverser是否可以代替

long int result;
申报

jlong result;

当你的前一个问题还没有解决时,在同一个论坛上再问同一个问题有什么意义?@Arham,除非你看不到问题的区别(查看millimoose的评论-不要移动门柱。如果你原来的问题得到了回答,接受一个答案并单独提出其他问题,而不是永远扩大一个问题的范围)?尝试时发生了什么?
jlong result;