JNIフィールドはLjava / LANG /文字列記述子。

符号化パラメータと戻り値の関数である。「([Ljava /ラング/文字列)V」。このエンコードはJNIフィールド記述子(JavaNativeインタフェースFieldDescriptors)と呼ばれています。配列はint []、あなたは、「[I」のように表現する必要があります。ダブル・アレイの複数の場合は、[] [] []このような「[[[D」の必要性を表しています。すなわち、次元数を意味、各角括弧の始まりです。ブロックの背後に複数のアレイのタイプです。

記述子はLで始まる場合、それは文字列クラスが続き、セミコロンされ、クラス記述子である「;」終わり。

例えば、「Ljava /ラング/文字列、」文字列の種類を示します。

"[I"]は、[INTを表しています。

"[Ljava /ラング/オブジェクト;" []そのオブジェクトを表します。

主なパラメータは、括弧内に配置され、以下のようにJNIメソッド記述子は、ブラケットは、戻り型の背後に配置しました:

(パラメータ記述子)戻り値の型

「V」の使用を表現する上でとき関数は、パラメータの型を返す必要はありません。

例えば、 "()Ljava /ラング/文字列;")(文字列Fを表します。

"(ILjava / LANG /クラス); Jは、"(INT I、クラスC)が長いFを示します。

"([B)V" ボイド(バイト[]バイト)で表現されます。

Java型 シンボル
ブーリアン とともに
バイト B
シャア C
ショート S
int型
長いです J
浮く F
ダブル D
空隙 V
オブジェクトオブジェクト

「L」でスタート、「;」中間「/」クラスとパッケージ名の端は、分離しました。例:Ljava / LANG /文字列;ネストされたクラスの場合、$ネスティングによって表されます。例えば、 "(Ljava /ラング/文字列; Landroid / OS /のfileutils $ FileStatus;)Z"

「[」プラス表Aに示されるように速記の対応するタイプは十分であろう、と更に略語配列型、

例えば:[I intを表す[]; [L /ジャワ/ langは/オブジェクトは、オブジェクトを表し、[]、さらに。参照型(配列の基本タイプに加えて)マークされた最後のを持っています「;」

例えば:

"()V" は、ボイドのFunc(言います)。

"(II)V" 表示のボイドのFunc(int型、int型);

"(Ljava / LANG /文字列; Ljava / LANG /文字列;)I" 表示int型のFunc(文字列、文字列)。

公開された14元の記事 ウォンの賞賛3 ビュー1118

おすすめ

転載: blog.csdn.net/qq_33808530/article/details/104668608