有時(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ù)