java中的自動拆箱、裝箱是指什麼?

JAVA語言中有個名詞叫自動拆箱、裝箱,那這個自動拆箱、裝箱究竟是指啥?程序員

自動拆箱、裝箱是從JDK1.5開始纔有的特性,其實它主要就是指基本類型與包裝類的自動轉換。面試

如int 與Integer類型。
int 是基本類型,而Integer是int的包裝類,在JDK1.5以前,int類型的值是不能直接賦給Integer類型的值 的,也就是說
Integer integer = 5; 會報錯,由於5是基本類型,而Integer是包裝類,Integer的正肯定義方式爲:
Integer integer = new Integer(5); 可是,從基本類型轉換成包裝類是常常使用的操做,尤爲是Integer與int的轉換非常頻繁。因此在JDK1.5開始,它們之間的轉換不在需要程序員再去進行轉換了,JDK已經將它自動進行了轉換,這種操做就叫自動拆箱、裝箱。code

int i = 5;
Integer ii = i;     //這種寫法在JDK1.5及之後的版本是正確的,由於系統會自動將int向Integer進行轉換,這種操做就叫自動裝箱。

int j = ii;         //這種寫法是將Integer的值自動轉換成了int基本類型,這種自動轉換的方法就叫自動拆箱。

不僅是int與Integer能夠自動轉換,八大基本類型均可以, 如下是八大基本類型及對應的包裝炻float

基本類型 byte short int long float double char boolean
包裝類型 Byte Short Integer Long Float Double Character Boolean程序

其中,int與Integer的轉換最多也最頻繁,因此有一點要注意,也是面試時常問到的問題:
int與Integer的區別:
1.int的默認值 爲0,而Integer的默認值爲null,在使用Integer前須要初始化。
2.int是基本類型,而Integer是包裝類,能夠自動 拆箱、拆箱,Integer封裝了不少的方法,方法

相關文章
相關標籤/搜索