Java和Jni类型对照表
- 基本类型对照表
Java的基本类型可以直接与C/C++的基本类型映射,基本类型的转换很简单。不过应注意下,转换成Native类型后对应数据类型的字长,例如char在java中占2个字节jchar在Native语言中也是占两个字节,这和普通的C语言中char占一个字节的情况是不一样。同时注意下,有些网站将byte和jbyte标记为无符号类型,这个是错误的,byte和jbyte都是有符号的。大家可以自己测试下结果
| java类型 | Native类型 | 符号属性 | 字长 |
| boolean | jboolean | 无符号 | 8位 |
| byte | jbyte | 有符号 | 8位 |
| char | jchar | 无符号 | 16位 |
| short | jshort | 有符号 | 16位 |
| int | jint | 有符号 | 32位 |
| long | jlong | 有符号 | 64位 |
| float | jfloat | 有符号 | 32位 |
| double | jdouble | 有符号 | 64位 |
- 引用类型对照表
| java类型 | Native类型 |
| java.lang.Class | jclass |
| java.lang.Throwable | jthrowable |
| java.lang.String | jstring |
| java.lang.Object[] | jobjectArray |
| Boolean[] | jbooleanArray |
| Byte[] | jbyteArray |
| Char[] | jcharArray |
| Short[] | jshortArray |
| int[] | jintArray |
| long[] | jlongArray |
| float[] | jfloatArray |
| double[] | jdoubleArray |
除了Java中基本数据类型的数组、Class、String和Throwable外其余所有Java对象的数据类型在JNI中都可以用jobject表示。任何Java数组在JNI里面都可以使用jarray来表示,比如Java的int[]数组,用JNI可以表示为jintArray,也可以表示为jarray.
参考:https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/types.html#wp9502
最后
以上就是唠叨飞机最近收集整理的关于Java和Jni类型对照表Java和Jni类型对照表的全部内容,更多相关Java和Jni类型对照表Java和Jni类型对照表内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复