1、
Java类型 相应的签名 例子
boolean Z
byte B
char C
short S
int I
long L
float F
double D
void V
Object L用"/"分割的完整类名; Ljava/lang/String;
Array [签名 [I [Ljava/lang/String;
Method (参数1类型签名参数2类型签名...)返回值类型签名
ZC: 我的分类:
ZC: (A)、类型签名
ZC: (A.1)、单个 类型签名
ZC: (1)、boolean ~ void 类型的签名 一目了然
ZC: (2)、Object的签名,分三个部分:用"/"分割的完整类名,前面加上字母"L",后面加上分号";"
ZC: (A.2)、数组 类型签名
ZC: (3)、Array的签名,分两个部分: "[" 加上 单个类型签名
ZC: (B)、Method签名:
ZC: (1)、"(" 和 ")" 和 类型签名 的组合
ZC: (2)、各个 参数的类型签名 的 字符串之间是连接在一起的,中间没有任何字符
ZC: 例子:
ZC: ①、函数声明: void Func01(int i, double d);
ZC: Method签名: (ID)V
ZC: ②、函数声明: short Func02(Object o, String str, int[] arr);
ZC: Method签名: (Ljava/lang/Object;Ljava/lang/String;[I)S
2、
多维数组 怎么弄?
我记得 在哪里 貌似见过 [[ 的写法
3、
不知道怎么翻译的话,可以用命令来查看:
3.1、java的代码是这样的:
package jniZ; import java.util.Date; public class JNIjw02
{
public int propertyZ; public int FunctionZ(int _foo, Date _date, int[] _arr)
{} public native void TestZ(); public static void main(String[] args)
{}
}
3.2、来到 JNIjw01.java 对应的class文件的目录,执行命令:
ZC: 上面的签名依次为 :
ZC: (1)、属性propertyZ 的签名
ZC: (2)、默认/无参构造函数JNIjw02() 的签名
ZC: (3)、函数FunctionZ(...) 的签名
ZC: (4)、函数TestZ() 的签名
ZC: (5)、函数main(...) 的签名
4、
5、