在JNI中通过引用传递原始数据类型

时间:2012-05-16 05:16:46

标签: java c java-native-interface

我是一名嵌入式C程序员,并使用JNI将我使用本机C / C ++编写的代码与Java集成。我很想知道原始data_type是否可以通过引用传递?我正在引用这个链接http://java.sun.com/docs/books/jni/html/objtypes.html#5279,这对我的事业没有帮助。

基本上我想要实现的是这样的: //通过本机调用更新val int nativeFunc(short val); Java功能:

class main
{
   short val;
   val = 0;
   nativeFunc(val);
   System.out.println(val)
}

int nativeFunc(short val)
{
   // Code to update OUt param val
   // Need this portion
}

我不知道它是否是一个非常容易回答的非常简单的问题。

1 个答案:

答案 0 :(得分:3)

Java始终是按值传递的。有关讨论,请参阅Is Java "pass-by-reference" or "pass-by-value"?

您可以从函数中返回修改过的原语,或者将其更改为一个包含原语的对象