jni數據類型簽名

開發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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章