JTYPE(JNI)和C / C++类型有什么区别

what is the difference between jtype (of JNI) and type of C/C++?

本文关键字:类型 C++ 什么 区别 JNI JTYPE      更新时间:2023-10-16

在JNI中有jtypes。就像intjintbooleanjboolean.我知道后一种类型是c/c ++类型。但是类型是一种jtype?在书中,他们提到这种类型也是一种原生类型。这是什么意思?

编辑:

jtype有什么用?

jni.h

typedef unsigned char   jboolean
typedef unsigned short  jchar
typedef short   jshort
typedef float   jfloat
typedef double  jdouble
typedef long    jint
typedef jint    jsize

通过本机类型,它们并不意味着 Java 语言的本机,它们是指本机 C 或本机等效项。j版本有助于将 Java 类型映射到本机 C 类型。这种映射的优点是,熟悉基本 Java 类型的 Java 程序员可以继续使用相同的名称,只是添加了j。他不需要费心如何将它们映射到机器的基本类型中。它将由类型定义处理。此外,如果底层机器架构发生变化,您仍然无需费心,只需输入 typedefs 即可

在评论中解决您的问题,_jstring是一个类。jstring是指向此类的指针

class _jstring : public _jobject {};
typedef _jstring *jstring;

就像我们在C++有String课一样