5.4對(duì)象包裝器與自動(dòng)裝箱器

有時(shí),需要將基本數(shù)據(jù)類(lèi)型轉(zhuǎn)換為對(duì)象。所有的基本類(lèi)型都有一個(gè)與之對(duì)應(yīng)的類(lèi)。通常,這些類(lèi)被稱(chēng)為包裝器

包裝類(lèi) 基本數(shù)據(jù)類(lèi)型
Interger int
Long long
Float float
Double double
Short short
Byte byte
Character char
Void void
Boolean boolean
  • 如果想定義已給整型數(shù)組列表,但是尖括號(hào)中的類(lèi)型參數(shù)不允許是基本類(lèi)型,即不允許寫(xiě)成ArrayList<int>,這時(shí),需要寫(xiě)成:
ArrayList<Integer> list = new ArrayList();

如果這時(shí)調(diào)用:

list.add(3);

編譯器會(huì)把這條語(yǔ)句自動(dòng)變成:

list.add(Integer.valueOf(3));

如果這時(shí)調(diào)用:

int n = list.get(i);

編譯器會(huì)把這條語(yǔ)句自動(dòng)變成:

int n = list.get(i).intValue();

在算術(shù)表達(dá)式中也能夠自動(dòng)裝箱和拆箱,例如:編譯器會(huì)自動(dòng)插入一條對(duì)象拆箱的指令,然后進(jìn)行自增計(jì)算,最后再將結(jié)果裝箱。

Integer n = 3;
n++;

在兩個(gè)包裝器比較時(shí)調(diào)用equals方法
如果在一個(gè)條件表達(dá)式中混用integer和double類(lèi)型,integer值就會(huì)拆箱提升為double,在裝箱為Double
要想將字符串轉(zhuǎn)換為整型,可以使用:

int x=Intege.parsInt(s);

int intValue()
int的形式返回Integer對(duì)象的值
static String toString(int i,int radix)
換回?cái)?shù)值i的基于給定radi參數(shù)進(jìn)制的表示
static int parseInt(String s)
static int parseInt(String s,Int radix)
返回字符串s表示的整型數(shù)值,給定字符串表示的時(shí)十進(jìn)制整數(shù),或者時(shí)radix參數(shù)進(jìn)制的整數(shù)
static Integer valueOf(String s)
static Integer valueOf(String s,Int radix)
返回字符串s表示的整型數(shù)值進(jìn)行初始后的一個(gè)新的Integer對(duì)象,給定字符串表示的時(shí)十進(jìn)制整數(shù),或者時(shí)radix參數(shù)進(jìn)制的整數(shù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容