JAVA你不知道的包裝類
在JAVA程序設(shè)計(jì)中經(jīng)常用到一系列類型 ,如int char double 等,可以把他們想像成“基本”類型。
它們顯然要特殊對(duì)待,因?yàn)閚ew將對(duì)象存在“堆”里,然而像byte,char這些特別小的,簡單的變量,放在堆中不是特別有效率
對(duì)于基本類型的處理,java采取與C和C++相同的方法。也就是,不用new來創(chuàng)建變量 ,而是創(chuàng)建一個(gè)并非是引用 的“自動(dòng)”變量。這個(gè)變量直接存儲(chǔ)“值”到棧中,因此更加高效。
然而因?yàn)榛绢愋筒皇菑腏AVA對(duì)象中派生出來的 ,許多操作完成不了
如:基本數(shù)據(jù)類型之間的相互轉(zhuǎn)換不是都可以制動(dòng)轉(zhuǎn)換的 而你強(qiáng)制轉(zhuǎn)換又會(huì)出問題,比如String類型的轉(zhuǎn)換為int 類型的 那么jdk為了方便用戶就提供了相應(yīng)的包裝類
[java] view plaincopy
- <span style="font-size:18px;">int a=0;
- String result=Integer.toString(a);</span>
- <span style="font-size:18px;">char c ='x';
- Character ch=new Character(c);</span>
- <span style="font-size:18px;">Character ch=new Character('x');
- 并可以反向轉(zhuǎn)換:
- char c=ch;</span>
第二 有時(shí)候一個(gè)函數(shù)需要傳遞一個(gè)Object的變量 而你想傳遞int類型的進(jìn)去顯然不行,怎么辦呢,用到了包裝類
- <span style="font-size:18px;">public void test(Object obj){
- }</span>
test(new Integer(5));
綜上所述,包裝類有兩個(gè)用法 一個(gè)實(shí)現(xiàn)基本類型之間的轉(zhuǎn)換 二是便于函數(shù)傳值 就是在一些地方要用到Object的時(shí)候方便將基本數(shù)據(jù)類型裝換
原文地址:http://www.software8.co/wzjs/java/1347.html
posted on 2012-11-19 09:57 飛豬一號(hào) 閱讀(1290) 評(píng)論(0) 編輯 收藏