概述
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类型对照表所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复