3

JNI には jtype があります。jintforintjbooleanfor のようにboolean。後者の型は c/c++ 型であることを理解しています。しかし、タイプは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 またはネイティブ マシンと同等のものを意味します。バージョンは、 Java 型をネイティブ C 型にマップするのjに役立ち ます。このマッピングの利点は、Java の基本的な型に精通している Java プログラマーが、 を追加しただけで同じ名前を引き続き使用できることです。それらがマシンの基本型にどのようにマッピングされるかを気にする必要はありません。typedef によって処理されます。また、基礎となるマシンのアーキテクチャが変更された場合でも、気にする必要はありません。typedef を変更するだけで済みます。j

コメントであなたの懸念に対処することは_jstringクラスです。そしてjstring、このクラスへのポインタです

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

StringC++のクラスがあるように

于 2012-05-10T07:37:46.787 に答える