JNI像一个螺丝冒衔接这java语言和c或者c++等其它语言。java
JNI的基本语法c++
JNI的类型数组
一、基本数据类型spa
如下是java的基本数据类型和jni中的基本数据类型的比较,及各种型的字节。接口
二、引用类型io
Java中不一样的引用类型在JNI当中也有对应的引用类型,如下树形表示:class
当在C语言中使用时,全部的JNI引用类型都被定义为jobject类型。typedef jobject jclass;object
jvalue 类型数据类型
jvalue类型是一个基本数据类型和引用类型的集合,定义方式以下:语法
typedef union jvalue { jboolean z; jbyte b; jchar c; jshort s; jint i; jlong j; jfloat f; jdouble d; jobject l; } jvalue;
class的说明
(1).类和接口的描述符在java当中使用”.”,如:java.lang.String
而在JNI当中是用”/”,如:java/lang/String
(2).数组类型的引用类型用”[”表示。如 int[](java中的表示法) ß---à [I([ 大写的i 是JNI中的表示法,[ 的个数表示数组的维数 二维则是 [[ I )
(3)域的说明,和java比较以下表:
注意:引用类型的域 用L开头,而且以”;”做为结尾。数组类型和class说明的同样。
(4).Method说明
JNI中的方法的声明规则:先写参数列表,再写返回类型,如下是例子。