Android JNI入门第二篇——Java参数类型与本地参数类型对照

时间:2021-02-26 15:33:09

前面一篇通过简单的例子介绍了android中JNI的使用。这一篇从基础上了解一些Java参数类型与本地参数类型区别。

1)        java中的返回值void和JNI中的void是完全对应的哦!(仅仅一个而已)。

2)        java中的基本数据类型(byte ,short ,int,long,float,double ,boolean,char-8种)在JNI中对应的数据类型只要在前面加上j就对应了(jbyte ,jshort ,jint,jlong,jfloat,jdouble ,jboolean,jchar)。

3)        java中的对象,包括类库中定义的类、接口以及自定义的类接口,都对应于JNI中的jobject。

4)        java中基本数据类型的数组对应与JNI中的j<type>array类型。(type就是上面说的8种基本数据类型)

5)        java中对象的数组对应于JNI中的jobjectArray类型。(在java中一切对象、接口以及数组都是对象)

下图是JNI规范中java数据类型和JNI数据类型的映射图。

第一幅为基本数据类型的映射图:

Android JNI入门第二篇——Java参数类型与本地参数类型对照

第二幅为引用数据类型的映射图:

Android JNI入门第二篇——Java参数类型与本地参数类型对照

/**
* @author 张兴业
* 邮箱:xy-zhang#163.com
* android开发进阶群:278401545
*
*/