3

在 JNI 中有 jtypes。喜欢jintforintjbooleanfor boolean。我知道后一种类型是 c/c++ types 。但是类型是jtype? 在书中,他们提到这种类型也是本地类型。那是什么意思?

编辑:

jtype 有什么用?

4

1 回答 1

3

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 处理。此外,如果底层机器架构发生变化,您仍然无需费心,只需更改 typedef 即可

在评论中解决您的疑虑_jstring是一门课。并且jstring是指向此类的指针

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

就像我们有StringC++ 中的类一样

于 2012-05-10T07:37:46.787 回答