首頁 >Java >java教程 >primitive主資料類型的包裝類

primitive主資料類型的包裝類

巴扎黑
巴扎黑原創
2016-12-02 09:29:581663瀏覽

JAVA在5.0版本之後之後給每個primitive主資料型別(除了char)都準備了一個包裝類, 
int→Integer;long→Long;byte→Byte;short→Short;float→Float; 
double→Double ;boolean→Boolean; 
包裝類別有什麼作用呢? 
包裝類別的功能就是將一個值傳入包裝類別的建構函數,這樣就能創造出一個包裝類別的物件。而且包裝類別還具有自動裝箱和自動拆包的功能。 
以下僅以Integer舉例,例如: 
Integer d=3;//自動裝箱,即可用int值建構一個物件並指向引用變數。 
int d=new Integer(123);//自動拆包,將物件的實例變數值直接賦給int型變數。 
當然不只這些用處。
也可以在ArrayList中加入元素時直接加入int型的變數; 
如果某些方法的參數是某種包裝類型,則可以直接傳入相對應的primitive主資料類型;方法的回傳值同樣可以; 
還有就是條件判斷語句,也可以用Boolean的引用來判斷。 
當然在數值運算的時候也可以: 
int a=new Integer(2)+3;//也是可以運作的。 

需要特別注意的是Integer的自動裝箱的一個小知識,   

Integer a=new Integer(127);  
Integer b=(127);  
System.out.println(a==b);  
System.out.println(a.equals(b));

結果為false,true。但當  

Integer c=127;  
Integer d=127;  
System.out.println(a==b);  
System.out.println(a.equals(b));

結果卻是true,true。
會出現這種情框是因為,在自動裝箱時如果創建一個Integer對象傳入的值小於128的話,在創建第二個對象並且與第一個對象傳入的值相等,那麼第二個對象的應用變數會直接指向建立的第一個對象,而不會再建立一個新的對象。 
類別中一般都會有方法,java定義的包裝類別中也有許多方法來運用, 
以Integer例列舉一些重要的靜態方法,也就是可以直接以Integer呼叫的方法。
將一段字串解碼成為一個Integer內的實例變數值, decode(String st) 
講一段字串解析為一個int值,Integer.parseInt(String,int );//String為傳入的數字型字符串,int為所傳入的字串的進位,此方法傳回的是一個十進位的int值,例如:   

System.out.println(d.parseInt("4d", 16));  

回傳的是77. 
還可以翻過來講int或Integer轉變為String: 
int e=3; 或 Integer.toString(new Integer(22)); 
Integer.toString(e); 
還有很多方法,具體可以查看API中的java.lang.Integer類別。其他幾個包裝類也大都如此。


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn