今天長沙牛耳教育java培訓機構小編為java零基礎學員介紹“java基本類型和包裝類的區(qū)別”,希望看完此文對大家有幫助,下面就隨小編一起看看java基本類型和包裝類的區(qū)別都有哪些?
Java中基本數(shù)據(jù)類型與包裝類型都包括哪些,具體請看下表:
存在基本類型對應包裝類的原因:
基本數(shù)據(jù)類型存方在棧中,效率更高
new出來的對象存在于堆中(通過棧中的引用來使用這些對象),是一個對象,因此具有更多的諸如“轉(zhuǎn)換”的方法
java包裝類型的意義
Java是一個面相對象的編程語言,基本類型并不具有對象的性質(zhì),為了讓基本類型也具有對象的特征,就出現(xiàn)了包裝類型(如我們在使用集合類型Collection時就一定要使用包裝類型而非基本類型),它相當于將基本類型“包裝起來”,使得它具有了對象的性質(zhì),并且為其添加了屬性和方法,豐富了基本類型的操作。
另外,當需要往ArrayList,HashMap中放東西時,像int,double這種基本類型是放不進去的,因為容器都是裝object的,這時就需要這些基本類型的包裝器類了。
基本類型和包裝類轉(zhuǎn)換:
以int和Integer為例(Java5前):
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ū)別:
1、聲明方式不同:
基本類型不使用new關鍵字,而包裝類型需要使用new關鍵字來在堆中分配存儲空間;
2、存儲方式及位置不同:
基本類型是直接將變量值存儲在棧中,而包裝類型是將對象放在堆中,然后通過引用來使用;
3、初始值不同:
基本類型的初始值如int為0,boolean為false,而包裝類型的初始值為null;‘
4、使用方式不同:
基本類型直接賦值直接使用就好,而包裝類型在集合如Collection、Map時會使用到。
自動裝箱和拆箱
在Java SE5之前,如果要生成一個數(shù)值為10的Integer對象,必須這樣進行:
Integer i = new Integer(10);
而在從Java SE5開始就提供了自動裝箱的特性,如果要生成一個數(shù)值為10的Integer對象,只需要這樣就可以了:
Integer i = 10;
這個過程中會自動根據(jù)數(shù)值創(chuàng)建對應的 Integer對象,這就是裝箱。
那什么是拆箱呢?顧名思義,跟裝箱對應,就是自動將包裝器類型轉(zhuǎn)換為基本數(shù)據(jù)類型:
Integer i = 10; //裝箱
int n = i; //拆箱
裝箱就是自動將基本數(shù)據(jù)類型轉(zhuǎn)換為包裝器類型;拆箱就是 自動將包裝器類型轉(zhuǎn)換為基本數(shù)據(jù)類型。
以上就是長沙牛耳教育java培訓機構小編介紹的“java基本類型和包裝類的區(qū)別”的內(nèi)容,希望對大家有幫助,更多精彩內(nèi)容請繼續(xù)關注長沙牛耳教育java培訓機構官網(wǎng)。
相關免費視頻教程推薦
java包裝類的基本操作(視頻教程下載):http://www.bjpowernode.com/xiazai/2525.html