詳細(xì)總結(jié)Java基礎(chǔ)類和包裝類
一、簡介
當(dāng)需要往ArrayList,HashMap中放東西時(shí),像int,double這種基本類型是放不進(jìn)去的,因?yàn)槿萜鞫际茄bobject的,這是就需要這些基本類型的包裝器類了。
基本數(shù)據(jù)類型存放在棧中,效率更高
每個(gè)基本類型在java.lang包中都有一個(gè)相應(yīng)的包裝類,new出來的對(duì)象存在于堆中(通過棧中的引用來使用這些對(duì)象),是一個(gè)對(duì)象,因此具有更多的諸如“轉(zhuǎn)換”的方法
例子:
1.int轉(zhuǎn)Integer
int i = 0; Integer ii = new Integer(i);
2.Integer轉(zhuǎn)int
Integer ii = new Integer(0); int i = ii.intValue();
二、區(qū)別
- 聲明方式:基本類型不使用new關(guān)鍵字,而包裝類型需要使用new關(guān)鍵字來在堆中分配存儲(chǔ)空間;
- 存儲(chǔ)方式及位置:基本類型是直接將變量值存儲(chǔ)在棧中,而包裝類型是將對(duì)象放在堆中,然后通過引用來使用;
Integer a = null; int b = a; // 拋出NullPointException 該使用方式編譯可以通過,但是會(huì)拋出空指針異常, int b = a實(shí)際上是int b = a.intValue(), 由于a的引用值為null,在空對(duì)象上調(diào)用方法就會(huì)拋出NullPointException
- 初始值不同:基本類型的初始值如int為0,boolean為false,而包裝類型的初始值為null;
- 使用方式:基本類型直接賦值直接使用就好,而包裝類型在集合如Collection、Map時(shí)會(huì)使用到。
三、自動(dòng)裝箱和拆箱
裝箱:自動(dòng)將基本數(shù)據(jù)類型轉(zhuǎn)換為包裝器類型;
拆箱:自動(dòng)將包裝器類型轉(zhuǎn)換為基本數(shù)據(jù)類型。
在Java SE5之前,如果要生成一個(gè)數(shù)值為10的Integer對(duì)象,必須這樣進(jìn)行:
Integer i = new Integer(10);
而在從Java SE5開始就提供了自動(dòng)裝箱與自動(dòng)拆箱
Integer i = 10; //裝箱 int n = i; //拆箱
到此這篇關(guān)于詳細(xì)總結(jié)Java基礎(chǔ)類和包裝類的文章就介紹到這了,更多相關(guān)Java基礎(chǔ)類和包裝類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用Java8 Optional類優(yōu)雅如何地解決空指針問題
這篇文章主要給大家介紹了關(guān)于如何利用Java8 Optional類優(yōu)雅解決空指針問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11詳解Spring學(xué)習(xí)之聲明式事務(wù)管理
這篇文章主要介紹了詳解Spring學(xué)習(xí)之聲明式事務(wù)管理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07Java上轉(zhuǎn)型和下轉(zhuǎn)型對(duì)象
這篇文章給大家講述了Java上轉(zhuǎn)型和下轉(zhuǎn)型對(duì)象的詳細(xì)用法以及相關(guān)的代碼分享,有興趣的朋友可以學(xué)習(xí)下。2018-03-03Java插入修改刪除數(shù)據(jù)庫數(shù)據(jù)的基本方法
這篇文章主要介紹了Java插入修改刪除數(shù)據(jù)庫數(shù)據(jù)的基本方法,是Java入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-10-10java實(shí)現(xiàn) 微博登錄、微信登錄、qq登錄實(shí)現(xiàn)代碼
這篇文章主要介紹了java實(shí)現(xiàn) 微博登錄、微信登錄、qq登錄實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2016-10-10