我們都知道,java是一個面向對象的語言,但是其中我們經常用到的8大基本類型:
byte,short,int,long,double,float,char,boolean 卻不是面向對象的
但是在我們實際使用過程中,我們確實需要用到將基本類型轉化成對象的操作,比如泛型,集合的操作中。
對於以上8大基本類型我們提供了對應的8大包裝類:
Byte,Short, Integer, Long, Double, Float, Character, Boolean
那麼我們就得知:
包裝類:將基本數據類型封裝成一個類,這個類中有對應的一個基本類型
(此包位於 java.lang)
類的繼承關係
以Integer爲例:
Integer的使用:
int i = 10;
Integer j = Integer.valueOf(i);
Integer k = new Integer(i);
int a = j.intValue();
//Integer和int的互相轉換(裝箱(boxing)和拆箱(unboxing))
當然,爲了簡化使用也可以直接賦值打成轉換:
int i = 10;
Integer j = i;
int k = j;
//自動裝箱(autoboxing)和自動拆箱(autounboxing)
注意:自動裝箱和自動拆箱是工作在編譯期間的一種機制
Integer中的基本類型是不可變的,並且Integer並沒有類似於set(type value)類似的方法(不可變)
因此,雖然Integer是引用數據類型但是並無法實現我們初期學習方法所練習的swap()方法:
ps:初步學習了包裝類(爲了進一步的學習),以後會更深入的學習