Javaで扱うデータの型は、native側では「jni.h」によって以下のように定義されている。
Java | C++ | 解説 |
boolean | jboolean |
unsigned 8 bits #define JNI_FALSE 0 #define JNI_TRUE 1 |
byte | jbyte | signed 8 bits |
char | jchar | unsigned 16 bits |
short | jshort | signed 16 bits |
int | jint | signed 32 bits |
long | jlong | signed 64 bits |
float | jfloat | 32-bit IEEE 754 |
double | jdouble | 64-bit IEEE 754 |
java.lang.Object | jobject | オブジェクト |
java.lang.String | jstring | 文字列 |
jarray | 配列のベース | |
Object[] | jobjectArray | 配列 |
boolean[] | jbooleanArray | 配列 |
byte[] | jbyteArray | 配列 |
char[] | jcharArray | 配列 |
short[] | jshortArray | 配列 |
int[] |
jintArray |
配列 |
long[] |
jlongArray |
配列 |
float[] |
jfloatArray |
配列 |
double[] |
jdoubleArray |
配列 |
java.lang.Thowable |
jthrowable |
例外クラス |
その他、Javaのフィールドやメソッドを識別する為のIDとして、以下ようにポインタ型が定義されている。
Java | C++ | 解説 |
jfieldID | フィールドを識別するポインタ | |
jmethodID | メソッドを 識別するポインタ |
コメントをお書きください