包裝類的作用: Java 語言中,一切都是對象,但是有例外: 8 個基本數(shù)據(jù)類型不是對象,因此在很多時候非常不方便。 為此, Java提供為 8 個基本類型提供了對應的包裝類:
byte ------- Byte
short ------ Short
int ----------?Integer
long -------- Long
char -------- Character
float -------- Float? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?double ----- Double
boolean----- Boolean
包裝類如何使用?JDK1.5, 新增了 2 個功能:自動裝箱、自動拆箱。
自動裝箱:當我們把一個基本類型的值( 20),賦值給引用變量時候,系統(tǒng)可以 自動將它“包裝”為相應的包裝類的實例程序需要對象時, 如果給的只是一個基本類型的值, 系統(tǒng)會將它自動裝箱為包裝類的實例達到的效果: 有了自動裝箱之后, 基本類型的值可以當成對象用—— 其實是【假相】 。
自動拆箱: 當我們需要一個基本類型的值時, 但實際上傳入的包裝類的對象。 系 統(tǒng)會自動把對象“剝”開,得到它的值。 達到的效果: 有了自動拆箱之后, 包裝類的對象可當成基本類型的值 用——其實是【假相】 。

事實上,包裝類比基本類型更好用——基本類型能做的事情,包裝類也能做。 但包裝類能做的,基本類型不一定能做,比 如要賦一個 null 值。


從反編譯得到的字節(jié)碼內容可以看出,在裝箱的時候自動調用的是Integer的valueOf(int)方法。而在拆箱的時候自動調用的是Integer的intValue方法。