JNI 数据类型映射

数据类型

基本数据类型映射

这里写图片描述

引用数据类型映射

这里写图片描述

引用数据类型需要JNI函数进行转换后才可使用(数据都是引用类型)

//获得一维数组 的类引用,即jintArray类型  
jclass intArrayClass = env->FindClass("[I");   
//构造一个指向jintArray类一维数组的对象数组,该对象数组初始大小为dimion  
jobjectArray obejctIntArray  =  env->NewObjectArray(dimion ,intArrayClass , NULL);  
...//具体操作  

域描述符

基本数据类型

这里写图片描述

引用数据类型 L + 类描述符 + ;

String --- > Ljava/lang/String;  

类描述符

类描述符是类的完整名称(包名+类名),将原来的 . 分隔符换成 / 分隔符

jclass cls = env->FindClass("java/lang/String");
jclass cls = env->FindClass("Ljava/lang/String;");//域描述符

数组类型的描述符是[ + 类型的域描述符

int[]  --- > [I
float[] ---> [F
String[] ---> [Ljava/lang/String;

方法描述符

将参数类型的域描述符按照申明顺序放入一对括号中后跟返回值类型的域描述符,规则如下: (参数的域描述符的叠加)返回类型描述符。对于,没有返回值的,用V(表示void型)表示

String test() -----> Ljava/lang/String;
int f (int i, Object object)  ---->  (ILjava/lang/Object;)I
void set (byte[ ] bytes)   ---->  ([B)V
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值