Android-----JNI中的数据类型整理
1. 基本数据类型
基本数据类型可以直接与C/C++的相应基本数据类型映射,JNI用类型定义使得这种映射对开发人员透明
| Java类型 | JNI类型 | C/C++类型 | 大小 |
|---|---|---|---|
| Boolean | Jblloean | unsigned char | 无符号8位 |
| Byte | Jbyte | char | 有符号8位 |
| Char | Jchar | unsigned short | 无符号16位 |
| Short | Jshort | short | 有符号16位 |
| Int | Jint | int | 有符号32位 |
| Long | Jlong | long long | 有符号64位 |
| Float | Jfloat | float | 32位 |
| Double | Jdouble | double | 64位 |
2 引用数据类型
与基本数据类型不同,引用类型对原生方法是不透明的,它们内部的数据结构并不直接向原生代码公开
| Java类型 | 原生类型 |
|---|---|
| java.lang.Class | jclass |
| java.lang.Throwable | jthorwable |
| java.lang.String | jstring |
| Other objects | jobjects |
| java.lang.Object[] | jobjectArray |
| boolean[] | jbooleanArray |
| byte[] | jbooleanArray |
| char[] | jcharArray |
| short[] | jshortArray |
| int[] | jintArray |
| long[] | jlongArray |
| float[] | jfloatArray |
| double[] | jdoubleArray |
| Other arrays | Jarray |

浙公网安备 33010602011771号