基本数据类型转换
Java类型 别名 C++本地类型 字节(bit)
boolean jboolean unsigned char 8, unsigned
byte jbyte signed char 8
char jchar unsigned short 16, unsigned
short jshort short 16
int jint long 32
long jlong __int64 64
float jfloat float 32
double jdouble double 64
也就说基本数据类型就可以直接转换了 ,比较麻烦的是char * 和jstring类型的呼唤,查看jni.h
可以知道有如下方法:
jstring 转 char *
const char *nativeString = (*env)->GetStringUTFChars(env, javaString, 0);
// 使用nativeString
(*env)->ReleaseStringUTFChars(env, javaString, nativeString);
char * 转 jstring (未测试)
jstring jstr = (*env)->NewStringUTF(char *utf)