Java中的包裝類

scbiaosdo發表於2018-04-24

什麼是包裝類?

所謂包裝類,就是能夠直接將簡單型別的變數表示為一個類,在執行變數型別的相互轉換時,我們會大量使用這些包裝類。


包裝類

Integer 、Long、Short、Byte、Character、Double、Float、Boolean、BigInteger、BigDecmail
其中BigInteger、BigDecimal沒有相對應的基本型別,主要應用於高精度的運算。其餘八種都有對應的基本型別。
BigInteger 支援任意精度的整數,
BigDecimal支援任意精度帶小數點的運算。


包裝類有以下一些用途:

1、集合不允許存放基本資料型別,故常用包裝類
2、包含了每種基本資料型別的相關屬性,如最大值、最小值、所佔位數等
3、作為基本資料型別對應的類型別,提供了一系列實用的物件操作,如型別轉換、進位制轉換等


基本型別與包裝型別的區別:

1、在Java中,一切皆物件,但八大基本型別卻不是物件。
2、宣告方式的不同,基本型別無需通過new關鍵字來建立,而封裝型別需new關鍵字。
3、儲存方式及位置的不同,基本型別是直接儲存變數的值儲存在堆疊中能高效的存取,封裝型別需要通過引用指向例項,具體的例項儲存在堆中。
4、初始值的不同,封裝型別的初始值為null,基本型別的的初始值視具體的型別而定,比如int型別的初始值為0,boolean型別為false;
5、使用方式的不同,比如與集合類合作使用時只能使用包裝型別。
6、什麼時候該用包裝類,什麼時候用基本型別,看基本的業務來定:這個欄位允允許null值,就需要使用包裝型別,如果不允許null值,,使用基本型別就可以了,用到比如泛型和反射呼叫函式,就需要用包裝類!

相關文章