JNI的数据类型和类型签名
来源:互联网 发布:人民法院淘宝网 编辑:程序博客网 时间:2024/04/27 07:27
JNI的数据类型跟Java一样,都分为基本数据类型和引用数据类型,基本类型主要有jboolean、jchar、jint等,学过java的都知道,就是在原来java的基本数据类型前添加了一个“j”,
JNI中的引用类型主要有类、对象和数组,他们和java中的引用类也差不多
JNI的类型签名标识了一个特定的Java类型,这个类型既可以是类和方法,也可以是数据类型
类的签名很简单,他采用“L+包名+类名+;”的形式,只需要将其中的.替换为/就行了,比如java.lang.String,他的签名是Ljava/lang/String;,注意末尾的“;”也是签名的一部分
基本数据类型的签名采用一系列大写字母来表示
除了boolean和long外,其他的都是Java类型的首字母大写。之所以他们例外,是因为boolean和long都被占用了,B被byte占用,L表示类的签名;
如果是数组签名可能复杂些,他的签名是[+类型签名,比如int数组,他的类型为int,而int的签名为I,所以int数组的签名是[I,
同理:
char[] [C
float[] [F
double[] [D
long[] [J
String[] [Ljava/lang/String;
Object[] [Ljava/lang/Object;
方法签名为(参数类型签名)+返回值类型签名,比如boolean func1(int a,double b,int[] c),根据参数类型的签名连载一起是ID[I,整个方法的签名是(ID[I),加上返回值就是(ID[I)Z
int func1() 他的签名为()I
void func1(int i) 它的签名为(I)V
boolean func1(int a,String b,int[] c) 它的签名就是(ILjava/lang/String;[I)Z
以上就是JNI 的数据类型和类型签名,当JNI中调用Java上层的API的时候,在JNI的表现形式就是这个样子了。
- Jni的数据类型和类型签名
- JNI的数据类型和类型签名
- JNI和NDK编程(三)JNI的数据类型和类型签名
- JNI里的数据类型 和签名方法
- JNI中数据类型及签名类型
- JNI类型签名和方法签名
- JNI数据类型和签名(Signatures)
- android jni类型和参数签名
- 对于JNI方法名,数据类型和方法签名的一些认识
- Android中关于JNI 的学习(二)对于JNI方法名,数据类型和方法签名的一些认识
- Android中关于JNI 的学习(二)对于JNI方法名,数据类型和方法签名的一些认识
- Android中关于JNI 的学习(二)对于JNI方法名,数据类型和方法签名的一些认识
- Android JNI学习系列1.2—— JNI方法名,数据类型和方法签名的一些认识
- 对于JNI方法名,数据类型和方法签名
- Android JNI Java类型签名
- JNI类型定义及类型签名
- Android JNI和NDK学习(06)--JNI的数据类型
- 使用javah和javap得到JNI接口的签名
- 详解如何将TensorFlow训练的模型移植到Android手机
- 浅谈Java中的泛型
- javaScript:undefined与null的区别
- nginx搭建的页面乱码解决方法
- Vulkan编程指南翻译 第三章 队列和命令 第2节 创建命令缓冲区
- JNI的数据类型和类型签名
- mysql ---kill process解决死锁
- Python中的默认参数值
- 融云项目经验总结-头像和昵称显示/badge显示(转)
- 5 c++ 内联函数不能成为虚函数(virtual)
- css样式优先级机制
- java.lang.NoSuchMethodException: getPackageSizeInfo
- HTML-CSS-unicode字符集
- 《Linux内核分析》MOOC课程第一次实验作业