2) JNI签名:
|
类型签名 |
Java 类型 |
类型签名 |
Java 类型 |
|
Z |
boolean |
[ |
[] |
|
B |
byte |
[I |
int[] |
|
C |
char |
[F |
float[] |
|
S |
short |
[B |
byte[] |
|
I |
int |
[C |
char[] |
|
J |
long |
[S |
short[] |
|
F |
float |
[D |
double[] |
|
D |
double |
[J |
long[] |
|
L |
fully-qualified-class(全限定的类) |
[Z |
boolean[] |
l 基本类型
以特定的大写字母表示
l 引用类型
Java对象以L开头,然后以“/”分隔包的完整类型,例如String的签名为:Ljava/lang/String;
在Java里数组类型也是引用类型,数组以[ 开头,后面跟数组元素类型的签名,例如:int[] 签名就是[I ,对于二维数组,如int[][] 签名就是[[I,object数组签名就是[Ljava/lang/Object;
l 方法签名
(参数1类型签名参数2类型签名参数3类型签名.......)返回值类型签名
注意:
函数名,在签名中没有体现出来
参数列表相挨着,中间没有逗号,没有空格
返回值出现在()后面
如果参数是引用类型,那么参数应该为:L类型;
如果函数没有返回值,也要加上V类型
例如:
|
Java方法 |
对应签名 |
|
boolean isLedOn(void) ; |
()Z |
|
void setLedOn(int ledNo); |
(I) |
|
String substr(String str, int idx, int count); |
(Ljava/lang/String;II)Ljava/lang/String |
|
char fun (int n, String s, int[] value); |
(ILjava/lang/String;[I)C |
|
boolean showMsg(View v, String msg); |
(Landroid/View;Ljava/lang/String;)Z |
|
Java方法 |
对应签名 |
|
boolean isLedOn(void) ; |
()Z |
|
void setLedOn(int ledNo); |
(I) |
|
String substr(String str, int idx, int count); |
(Ljava/lang/String;II)Ljava/lang/String |
|
char fun (int n, String s, int[] value); |
(ILjava/lang/String;[I)C |
|
boolean showMsg(View v, String msg); |
(Landroid/View;Ljava/lang/String;)Z |
本文深入解析Java方法签名的构成和规则,包括基本类型、引用类型、数组类型、方法签名的格式及实例展示。
760

被折叠的 条评论
为什么被折叠?



