java ljava/lang/string_([Ljava/lang/String;)V的含义
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的含义相关推荐
- java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String,toArray向下转型失败
问题: 将集合通过toArray转为Object[]数组后,再通过向下转型失败 源代码: public void test(){List<String> list = new ArrayL ...
- 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 ...
- 解决:java.lang.ClassCastException:[Ljava.lang.Object
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.alibaba.domain.Person解决方法: p ...
- 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 ...
- 关于java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to 实体类
由于业务逻辑的复杂,有些sql语句写法hql不支持,所以hibernate查询直接用了sql原生查询,由于数据结果根据四个表查询出来,所以无法使用方法.addEntity(XXXXXXX.class) ...
- 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 详细 ...
- swagger报错 java.lang.NumberFormatException: For input string: ““
项目中集成Swagger,每次刷新页面,都给我报一个java.lang.NumberFormatException: For input string: ""的错误,真的是犯强迫症 ...
- java.lang.NumberFormatException: For input string: F
在通过myBatis执行sql时,报错: java.lang.NumberFormatException: For input string: "F" xml中sql内容为: &l ...
- java.lang.NumberFormatException: For input string: “xxxx.“
java.lang.NumberFormatException: For input string: "history." 解决方案: 不是你的代码问题, 去查看自己的数据
- 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 ...
最新文章
- 基于多视图几何方式的三维重建
- rails 3 使用 cucumber 和rspec 進行 測試
- c#同步 oracle数据,利用C#实现数据同步功能 | 学步园
- BZOJ4754 JSOI2016独特的树叶(哈希)
- OpenTSDB介绍——基于Hbase的分布式的,可伸缩的时间序列数据库,而Hbase本质是列存储...
- linux:用户和组
- Android数据库高手秘籍
- 项目: 用函数实现反弹球消砖块
- BZOJ 1022 Luogu P4279 [SHOI2008]小约翰的游戏 (博弈论)
- 哈工大理论力学第八版电子版_理论力学哈工大第八版1第六章思考题课后题
- jdk中java_怎样使用JavaJDK中Java?
- c# 中如何设置combox 让出现text value两个值 winform开发
- 【SparkStreaming学习之二】 SparkStreaming算子操作
- Tomcat类载入器(转载)
- java怎么实现日程提醒_如何用java和xml实现日程提醒
- AsyncTask的基本使用
- 【随笔】那些免费友好的遥感影像数据下载网站
- 【找工作必读】来自IT公司速查手册的各大IT公司薪资
- pmp考试【5】emv期望货币价值计算
- 【面试】 CVTE 视源股份 C++ 软件开发 二面