一、基本数据类型
| Java |
JNI |
C/C++ |
描述 |
| boolean |
jboolean |
unsigned char |
无符号8位整数 |
| byte |
jbyte |
signed char |
无符号8位整数 |
| char |
jchar |
unsigned short |
无符号16位整数 |
| short |
jshort |
signed short |
有符号16位整数 |
| int |
jint |
signed int |
有符号32位整数 |
| long |
jlong |
signed long |
有符号32位整数 |
| float |
jfloat |
float |
32位浮点数 |
| double |
jdouble |
double |
64位浮点数 |
二、引用数据类型
| Java |
JNI |
| java.lang.Object |
jobject |
| java.lang.String |
jstring |
| java.lang.Class |
jclass |
| Object[] |
jobjectArray |
| boolean[] |
jbooleanArray |
| byte[] |
jbyteArray |
| char[] |
jcharArray |
| short[] |
jshortArray |
| int[] |
jintArray |
| long[] |
jlongArray |
| float[] |
jfloatArray |
| double[] |
jdoubleArray |
| java.lang.Thriwable |
jthrowable |
| void |
void |
三、数据类型描述符
| Java |
类型描述符 |
| int |
I |
| long |
J |
| byte |
B |
| short |
S |
| char |
C |
| float |
F |
| double |
D |
| boolean |
Z |
| void |
V |
| 其他引用类型 |
L + 类全名 + ; |
| 数组 |
[ |
| 方法 |
(参数)返回值 |
四、实例
Java类型:java.lang.String
JNI描述符:Ljava/lang/String; (L + 类全名 + ;)
Java类型:String[]
JNI描述符:[Ljava/lang/String;
Java类型:int[][]
JNI描述符:[[I
Java方法:long func(int n, String s, int[] arr);
JNI描述符:(ILjava/lang/String;[I)J
Java方法:void func();
JNI描述符:()V
摘自文章:阿飞__ JNI基础:JNI数据类型和类型描述符