https://blog.csdn.net/longaiyunlay/article/details/80049440

“([Ljava/lang/String;)V” 它是一种对函数返回值和参数的编码。这种编码叫做JNI字段描述符(JavaNative Interface FieldDescriptors)。一个数组int[],就需要表示为这样"[I"。如果多个数组double[][][]就需要表示为这样 "[[[D"。也就是说每一个方括号开始,就表示一个数组维数。多个方框后面,就是数组 的类型。

如果以一个L开头的描述符,就是类描述符,它后紧跟着类的字符串,然后分号“;”结束。

比如"Ljava/lang/String;"就是表示类型String;

"[I"就是表示int[];

"[Ljava/lang/Object;"就是表示Object[]。

JNI方法描述符,主要就是在括号里放置参数,在括号后面放置返回类型,如下:

(参数描述符)返回类型

当一个函数不需要返回参数类型时,就使用”V”来表示。

比如"()Ljava/lang/String;"就是表示String f();

"(ILjava/lang/Class;)J"就是表示long f(int i, Class c);

"([B)V"就是表示void String(byte[] bytes);

Java 类型

符号

Boolean

Z

Byte

B

Char

C

Short

S

Int

I

Long

J

Float

F

Double

D

Void

V

objects对象

以"L"开头,以";"结尾,中间是用"/" 隔开的包及类名。比如:Ljava/lang/String;如果是嵌套类,则用$来表示嵌套。例如 "(Ljava/lang/String;Landroid/os/FileUtils$FileStatus;)Z"

另外数组类型的简写,则用"["加上如表A所示的对应类型的简写形式进行表示就可以了,

比如:[I 表示 int [];[L/java/lang/objects;表示Objects[],另外。引用类型(除基本类型的数组外)的标示最后都有个";"

例如:

"()V" 就表示void Func();

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

"(Ljava/lang/String;Ljava/lang/String;)I".表示 int Func(String,String)

java ljava/lang/string_([Ljava/lang/String;)V的含义相关推荐

  1. java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String,toArray向下转型失败

    问题: 将集合通过toArray转为Object[]数组后,再通过向下转型失败 源代码: public void test(){List<String> list = new ArrayL ...

  2. java.lang.ClassCastException: [Ljava.lang.Long; cannot be cast to java.util.List

    前言 最近在使用renren-fast框架改造一个爬虫3.0项目,发现了一个官方的bug java.lang.ClassCastException: [Ljava.lang.Long; cannot ...

  3. 解决:java.lang.ClassCastException:[Ljava.lang.Object

    java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.alibaba.domain.Person解决方法: p ...

  4. java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)[Ljava/lang/Object解决

    完整报错如下: 19/05/15 15:26:10 WARN BLAS: Failed to load implementation from: com.github.fommil.netlib.Na ...

  5. 关于java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to 实体类

    由于业务逻辑的复杂,有些sql语句写法hql不支持,所以hibernate查询直接用了sql原生查询,由于数据结果根据四个表查询出来,所以无法使用方法.addEntity(XXXXXXX.class) ...

  6. hbase 2.4 java.lang.NoSuchMethodError: java.nio.ByteBuffer.rewind()Ljava/nio/ByteBuffer

    hbase 2.4集群环境启动报错,java.lang.NoSuchMethodError: java.nio.ByteBuffer.rewind()Ljava/nio/ByteBuffer ​ 详细 ...

  7. swagger报错 java.lang.NumberFormatException: For input string: ““

    项目中集成Swagger,每次刷新页面,都给我报一个java.lang.NumberFormatException: For input string: ""的错误,真的是犯强迫症 ...

  8. java.lang.NumberFormatException: For input string: F

    在通过myBatis执行sql时,报错: java.lang.NumberFormatException: For input string: "F" xml中sql内容为: &l ...

  9. java.lang.NumberFormatException: For input string: “xxxx.“

    java.lang.NumberFormatException: For input string: "history." 解决方案: 不是你的代码问题, 去查看自己的数据

  10. com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGI

    报错如下: 2020-03-05 18:41:55.161 5576-5576/com.xiayiye.takeout W/System.err: com.google.gson.JsonSyntax ...

最新文章

  1. 基于多视图几何方式的三维重建
  2. rails 3 使用 cucumber 和rspec 進行 測試
  3. c#同步 oracle数据,利用C#实现数据同步功能 | 学步园
  4. BZOJ4754 JSOI2016独特的树叶(哈希)
  5. OpenTSDB介绍——基于Hbase的分布式的,可伸缩的时间序列数据库,而Hbase本质是列存储...
  6. linux:用户和组
  7. Android数据库高手秘籍
  8. 项目: 用函数实现反弹球消砖块
  9. BZOJ 1022 Luogu P4279 [SHOI2008]小约翰的游戏 (博弈论)
  10. 哈工大理论力学第八版电子版_理论力学哈工大第八版1第六章思考题课后题
  11. jdk中java_怎样使用JavaJDK中Java?
  12. c# 中如何设置combox 让出现text value两个值 winform开发
  13. 【SparkStreaming学习之二】 SparkStreaming算子操作
  14. Tomcat类载入器(转载)
  15. java怎么实现日程提醒_如何用java和xml实现日程提醒
  16. AsyncTask的基本使用
  17. 【随笔】那些免费友好的遥感影像数据下载网站
  18. 【找工作必读】来自IT公司速查手册的各大IT公司薪资
  19. pmp考试【5】emv期望货币价值计算
  20. 【面试】 CVTE 视源股份 C++ 软件开发 二面

热门文章

  1. 21受限玻尔兹曼机RBM
  2. activity透明主题引起生命周期的变化
  3. 分享到QQ好友 申请腾讯开放平台审核与认证
  4. matlab的置换,来自CLUSTERGRAM对象的置换向量(MATLAB)
  5. 非淡泊无以明志,非宁静无以致远。
  6. [vmware]解析单一GHO文件如何安装操作系统
  7. 痱子的预防和治疗方法
  8. 从零开始自制实现WebServer(十二)---- 剑指定时器小根堆处理 给EventLoop定时任务处理一个温暖的家
  9. QuatusII--7段数码管
  10. 和rgb画面质量谁好_从张艺谋到雷军,谁吹爆了透明屏神话?