12.1 Primitive and Reference Types
12.1.1
Primitive Types 基本类型
注意:
Java的char和Jni的jchar是Unicode格式,占两个字节.
C|C++中的char对应的是
Native Type的jbyte
,不是
Native Type的jchar.
12.1.2
Reference Types 引用类型
JNI reference types are organized in the hierarchy shown below.
12.3 String Formats
12.3.2 Class Descriptors 类描述符
It can be derived from a fully qualified class or interface name as defined in The Java™ Language Specification by substituting(替换) the “.” character with the “/” character.
For example, the class descriptor for java.lang.String is:
"java/lang/String"
Array classes are formed using the “[” character followed by the field descriptor (§12.3.3) of the element type. The class descriptor for “int[]” is:
"[I"
and the class descriptor for “double[][][]” is:
"[[[D"
12.3.3 Field Descriptors 域描述符
Field descriptors of reference types begin with the “L” character, followed by the class descriptor, and terminated by the “;” character.
12.3.4 Method Descriptors 方法描述符
"V" is used to denote the void method return type.
Constructors use "V" as their
return type, and use "<init>" as their
name.
//构造函数String(char[] chars);
jclass strCls = env->FindClass("java/lang/String");
jmethodID mid = env->GetMethodID(strCls,"<init>","([C)V");