牛骨文教育服务平台(让学习变的简单)

前面一篇通过简单的例子介绍了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中的jarray类型。(type就是上面说的8种基本数据类型)

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

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

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

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