()V
(D)Ljava/lang/Double;
(Ljava/lang/Object;)V
(ILjava/lang/String;DFZ)V
(D)Ljava/lang/Double;
(D)Ljava/lang/Double;
(I)Ljava/lang/Integer;
()J
在解析class文件中的方法时,会解析出上面的字符串,每一行代表描述一个方法的入参类型,数量和返回值
基本规则
(这里的是方法的参数)这里的是方法的返回值
栗子:
int test(int a)
解析出来是
(I)I
int test(int a,double x)
解析出来是
(ID)I
上面的栗子用的是基本的数据类型,如果是类-类型(引用类型)就是这样
栗子
int test(int a,String s)
解析出来是
(Ijava/lang/String;)I
是不是超简单啊?来吧 贡献代码吧。。。
https://github.com/anons-org/nada
数据类型在JVM中的定义
B | byte |
C | char |
D | double |
F | float |
I | int |
J | long |
S | short |
Z | boolean |
V | void |
L | 对象类型,如Ljava/lang/Object |
对于数组类型,每一个维度都是使用一个前置的"["字符来描述,如 [Ljava/lang/String , 或者 [[I