前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NDK开发(二) :JNI的数据类型

NDK开发(二) :JNI的数据类型

作者头像
103style
发布2022-12-19 13:37:12
3340
发布2022-12-19 13:37:12
举报
文章被收录于专栏:Android开发经验分享

转载请以链接形式标明出处: 本文出自:103style的博客


目录

  • 基本数据类型
  • 引用数据类型
  • JNI的数据类型描述符
  • 示例
  • 参考文章

基本数据类型

Java数据类型

JNI本地类型

C/C++数据类型

数据类型描述

boolean

jboolean

unsigned char

C/C++无符号8位整数

byte

jbyte

signed char

C/C++有符号8位整数

char

jchar

unsigned short

C/C++无符号16位整数

short

jshort

signed short

C/C++有符号16位整数

int

jint

signed int

C/C++有符号32位整数

long

jlong

signed long

C/C++有符号64位整数

float

jfloat

float

C/C++32位浮点数

double

jdouble

double

C/C++64位浮点数


引用数据类型

Java的类类型

JNI的引用类型

java.lang.Object

jobject

java.lang.String

jstring

java.lang.Class

jclass

Object[]

jobjectArray

boolean[]

jbooleanArray

byte[]

jbyteArray

char[]

jcharArray

short[]

jshortArray

int[]

jintArray

long[]

jlongArray

float[]

jfloatArray

double[]

jdobleArray

java.lang.Throwable

jthrowable

void

void


JNI的数据类型描述符

Java类型

类型描述符

int

I

long

J

byte

B

short

S

char

C

float

F

double

D

boolean

Z

void

V

其他引用类型

L+类全名+;

数组

[

方法

(参数)返回值


示例

String 类

代码语言:javascript
复制
Java 类型:java.lang.String
JNI 描述符:Ljava/lang/String;
即一个 Java 类对应的描述符,就是 L 加上类的全名,其中 . 要换成 / ,最后 不要忘掉末尾的分号。

数组

代码语言:javascript
复制
Java 类型:String[]
JNI 描述符:[Ljava/lang/String;
Java 类型:int[][]
JNI 描述符:[[I
数组就是简单的在类型描述符前加 [ 即可,二维数组就是两个 [ ,以此类推。

方法

代码语言:javascript
复制
Java 方法:long f (int n, String s, int[] arr);
JNI 描述符:(ILjava/lang/String;[I)J
Java 方法:void f ();
JNI 描述符:()V
括号内是每个参数的类型符,括号外就是返回值的类型符。

参考文章


以上

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-08-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 基本数据类型
  • 引用数据类型
  • JNI的数据类型描述符
  • 示例
  • 参考文章
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档