更新時間:2020-08-17 16:46:14 來源:動力節(jié)點 瀏覽2585次
Java基本數(shù)據(jù)類型包裝類
包裝類是什么?
可以讓基本數(shù)據(jù)類型獲取跟對象一樣的屬性和特征,行使對象的相關(guān)權(quán)益,每一種基本數(shù)據(jù)類型都有對應的包裝類型,方便對基本類型進行操作。
基本數(shù)據(jù)類型及其對應的包裝類:
包裝類使用場景:
包裝類型可以解決一些基本類型解決不了的問題,如有時候方法傳參需要傳遞一個Object變量,而我們想傳遞int類型的進去顯然不行;再比如集合不允許存放基本數(shù)據(jù)類型,這些時候就要用到包裝類。
裝箱,把基本數(shù)據(jù)類型轉(zhuǎn)換成包裝類:
自動裝箱,不用實例化,直接賦值。
int i1 = 2; Integer i2 = i1;
手動裝箱,實例化對象。
int i1 = 2; Integer i2 = new Integer(i1);
拆箱,把包裝類轉(zhuǎn)換成基本數(shù)據(jù)類型:
自動拆箱,不調(diào)用包裝類方法,直接賦值。
Integer i1 = 2;
int i2 = i1;
手動拆箱,調(diào)用包裝類方法獲取返回值。
Integer i1 = 2;
int i2 = i1.intValue();
深入了解自動拆裝箱,我們直接給包裝類賦值實現(xiàn)自動裝箱,實際上編譯器是做了這些工作:
調(diào)用valueOf(),Java為了提高效率,在這個方法執(zhí)行過程中提供了對象池,如果參數(shù)在-128~127之間就可以裝進這個對象池。
當給包裝類賦值時,它會在對象池里先查找是否存在這樣的一個對象,如果有,就會從對象池里直接產(chǎn)生,讓現(xiàn)在這個對象也指向這個內(nèi)存空間,如果沒有,就會隱式地調(diào)用new關(guān)鍵字來實例化一個對象。
可以使用對象池的包裝類:
以上就是動力節(jié)點java培訓機構(gòu)的小編針對“Java基本類型的包裝類”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。