分类: Java
2011-04-01 15:02:02
在JNI头文件中提到Signature,它主要用于操作Java类中的方法。Signature一般由两部分组成:1.方法参数;2.方法返回值。
1. 方法参数包含在一个括号中,返回值在括号外!
2. 方法参数个数较多时会依次以“;”隔开。
3. 当参数或者返回值是基本数据类型时,必须用其在JNI中的描述符表示。下表就是Java基本数据类型对应的JNI中的描述符。
4. 方法参数或者返回值为java中的对象时,必须以“L”加上其路径,不过此路径必须以“/”分开,自定义的对象也使用本规则,不在包中时直接“L”加上类名称。
5. 当参数或者返回值为数组时,前面必须加上“[”!
以上就是Signature表示方法的规则哦!看看下面一些Signature能一个个转换为相应的方法吗?
([LStudent;)[LStudent;
([I[Ljava/lang/String;[LStudent;)Ljava/lang/Object;
([LStudent;[LStudent;)[LStudent;
([Ljava/util/Iterator;)[Ljava/util/Enumeration;
([Ljava/lang/Object;)[Ljava/lang/Object;
([Ljava/lang/String;)[Ljava/lang/String;
(LStudent;)LStudent;