一、什麼是Java包裝類
所謂Java包裝類,就是將Java中的8種基本數據類型分別包裝成為類的形式。包裝類與基本數據類型的對應關系如下表所示。
基本數據類型
包裝類
byte
Byte
short
Short
int
Integer
long
Long
float
Float
double
Double
char
Character
boolean
Boolean
其中,Byte、Short、Integer、Long、Float、Double是Number的子類,Character和Boolean是Object的子類。
二、為什麼會有Java包裝類
Java是一門面向對象的編程語言,提倡“一切皆對象”,而Java中的基本數據類型卻不是對象,這就導致當我們要對基本數據類型進行操作的時候會存在諸多不便,比如說,我們要將整型數據轉換為字符串,或者將字符串轉換為整型、浮點型數據,或者獲取某個整數的二進制、八進制、十六進制等等,都需要我們站在對象的角度進行操作,因此將基本數據類型包裝成類,以便把基本數據類型當做對象來進行處理。
三、裝箱與拆箱——實現基本數據類型與包裝類之間的相互轉換
基本數據類型和包裝類之間的轉換是通過裝箱與拆箱來實現的。包裝類提供了裝箱和拆箱的方法,例如:
通過包裝類的構造方法,我們可以實現裝箱
Integer a = new Integer(6);//裝箱
通過包裝類的拆箱方法,我們可以實現拆箱
Float a = new Float(66.6f);//裝箱 float b = a.floatValue();//拆箱
在JDK1.5之前,裝箱與拆箱需要通過以上方式手動實現,在JDK1.5之後,Java提供了自動裝箱和拆箱機制,例如:
Integer i = 60; //自動裝箱 Float f = 66.6f;//自動裝箱 int a = i;//自動拆箱 Float b = f;//自動拆箱
四、包裝類的應用
在實際應用中,通過包裝類,我們可以將字符串變為基本數據類型,例如:
int i = Integer.parseInt(“123”);//將”123”裝換為int類型的數據 float f = Float.parseFloat(“456”);//將”456”轉換為float類型的數據
也可以將基本數據類型變為字符串,例如:
String s = Integer.toString(123);//將123裝換為字符串
還可以進行二進制、八進制、十進制、十六進制之間的轉換,例如:
int m = 10; String binaryString = Integer.toBinaryString(m);//獲取m的二進制形式 String hexString = Integer.toHexString(m);//獲取m的十六進制形式 String octalString = Integer.toOctalString(m)//獲取m的八進制形式
除此之外,包裝類提供的API還可以完成很多操作。
五、總結
Java的包裝類是站在面向對象的角度上對基本數據類型的封裝,是為了在程序中用面向對象的思想去操作基本數據類型。