開發jni經常需要在jni層調用java層的方法,或者創建引用,這個時候就需要用到java的屬性或者方法的簽名,詳細介紹如下:
一 . java中8種基本數據類型簽名:
數據類型 簽名
char C
byte B
short S
int I
long J
double D
float F
boolean Z
二.java中8種包裝類數據類型簽名:
Character Ljava/lang/Character;
Byte Ljava/lang/Byte;
Short Ljava/lang/Short;
Integer Ljava/lang/Integer;
Long Ljava/lang/Long;
Double Ljava/lang/Double;
Float Ljava/lang/Float;
Boolean Ljava/lang/Boolean;
三.類類型簽名:
L$; $在實際使用過程中需要替換成類的全路徑,並且需要把 . 替換爲/
四.方法簽名:
($1)$2 $1是每個參數的簽名,中間不需要空格或者分割符
$2是方法的返回值簽名
五.
1)數組簽名
[$ $是每個數據類型的簽名,其中不定長參數也用此方式處理
2)特殊類型
Map Ljava/util/Map;
List Ljava/util/List;
六:最後補充一個void和泛型
void V
Void Ljava/lang/Void;
T Ljava/lang/Object;
七.需要注意的地方
1).類型的數據簽名後面都有分號;而基本數據類型後面沒有
2).基本數據類型的包裝類也是類類型,故也用類方式來處理
3).自定義類,不要忘記了最前面的L