当前位置: 首页 > news >正文

JNI的method映射对应表

JNI中的对应表:

"()V"

"(II)V"

"(Ljava/lang/String;Ljava/lang/String;)V"

 

实际上这些字符是与函数的参数类型一一对应的。

"()" 中的字符表示参数,后面的则代表返回值。例如"()V" 就表示void Func();

"(II)V" 表示 void Func(int, int);

 

具体的每一个字符的对应关系如下

 

字符 Java类型 C类型

V      void            void
Z       jboolean     boolean
I        jint              int
J       jlong            long
D      jdouble       double
F      jfloat            float
B      jbyte            byte
C      jchar           char
S      jshort          short

 

数组则以"["开始,用两个字符表示

 

[I       jintArray      int[]
[F     jfloatArray    float[]
[B     jbyteArray    byte[]
[C    jcharArray    char[]
[S    jshortArray   short[]
[D    jdoubleArray double[]
[J     jlongArray     long[]
[Z    jbooleanArray boolean[]

 

上面的都是基本类型。

 

如果Java函数的参数是class,则以"L"开头,以";"结尾中间是用"/" 隔开的包及类名。而其对应的C函数名的参数则为jobject. 一个例外是String类,其对应的类为jstring

 

Ljava/lang/String; String jstring
Ljava/net/Socket; Socket jobject

 

如果JAVA函数位于一个嵌入类,则用$作为类名间的分隔符。

例如 "(Ljava/lang/String;Landroid/os/FileUtils$FileStatus;)Z"

转载于:https://www.cnblogs.com/snowdrop/articles/3397237.html

相关文章:

  • Visual Studio 2008 使用 WinCE 5.0 Emulator
  • 每日英语:How Often Do Gamblers Really Win?
  • core--线程状态
  • 纵向二级列表
  • 转:windows xp下如何安装SQL server2000企业版
  • XCode 调试方法 (很全 很有用)
  • C#遍历DataSet中数据的几种方法总结
  • C#中巧用#if DEBUG 进行调试
  • [1] 平面(Plane)图形的生成算法
  • 参数传递可选参数
  • Boosting 和梯度Boosting
  • 简单的javascript实例二(随页面滚动广告效果)
  • Android Studio 导入外部lib文件
  • HashMap和HashSet的区别
  • EXT今日笔记-ext获取url参数值
  • [译]前端离线指南(上)
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 5、React组件事件详解
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • java小心机(3)| 浅析finalize()
  • js操作时间(持续更新)
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Lucene解析 - 基本概念
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • php面试题 汇集2
  • Python_OOP
  • Python打包系统简单入门
  • Sass Day-01
  • Spring Boot快速入门(一):Hello Spring Boot
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • windows下mongoDB的环境配置
  • 反思总结然后整装待发
  • 分享几个不错的工具
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 你不可错过的前端面试题(一)
  • 双管齐下,VMware的容器新战略
  • 微服务框架lagom
  • 学习HTTP相关知识笔记
  • 自动记录MySQL慢查询快照脚本
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • 选择阿里云数据库HBase版十大理由
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • (2)(2.10) LTM telemetry
  • (4) PIVOT 和 UPIVOT 的使用
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (剑指Offer)面试题34:丑数
  • (接口封装)
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始