符号化パラメータと戻り値の関数である。「([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(文字列、文字列)。