java包裝類拆箱和裝箱詳解

java包裝類拆箱和裝箱詳解

ID:15367662

大?。?2.56 KB

頁數(shù):4頁

時(shí)間:2018-08-02

java包裝類拆箱和裝箱詳解_第1頁
java包裝類拆箱和裝箱詳解_第2頁
java包裝類拆箱和裝箱詳解_第3頁
java包裝類拆箱和裝箱詳解_第4頁
資源描述:

《java包裝類拆箱和裝箱詳解》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、Java包裝類、拆箱和裝箱詳解雖然Java語言是典型的面向?qū)ο缶幊陶Z言,但其中的八種基本數(shù)據(jù)類型并不支持面向?qū)ο缶幊?,基本類型的?shù)據(jù)不具備“對象”的特性——不攜帶屬性、沒有方法可調(diào)用。沿用它們只是為了迎合人類根深蒂固的習(xí)慣,并的確能簡單、有效地進(jìn)行常規(guī)數(shù)據(jù)處理。這種借助于非面向?qū)ο蠹夹g(shù)的做法有時(shí)也會帶來不便,比如引用類型數(shù)據(jù)均繼承了Object類的特性,要轉(zhuǎn)換為String類型(經(jīng)常有這種需要)時(shí)只要簡單調(diào)用Object類中定義的toString()即可,而基本數(shù)據(jù)類型轉(zhuǎn)換為String類型則要麻煩得多。為解決此類問題,Ja

2、va為每種基本數(shù)據(jù)類型分別設(shè)計(jì)了對應(yīng)的類,稱之為包裝類(WrapperClasses),也有教材稱為外覆類或數(shù)據(jù)類型類?;緮?shù)據(jù)類型及對應(yīng)的包裝類基本數(shù)據(jù)類型對應(yīng)的包裝類byteByteshortShortintIntegerlongLongcharCharacterfloatFloatdoubleDoublebooleanBoolean每個(gè)包裝類的對象可以封裝一個(gè)相應(yīng)的基本類型的數(shù)據(jù),并提供了其它一些有用的方法。包裝類對象一經(jīng)創(chuàng)建,其內(nèi)容(所封裝的基本類型數(shù)據(jù)值)不可改變?;绢愋秃蛯?yīng)的包裝類可以相互裝換:·由基本類型向

3、對應(yīng)的包裝類轉(zhuǎn)換稱為裝箱,例如把int包裝成Integer類的對象;·包裝類向?qū)?yīng)的基本類型轉(zhuǎn)換稱為拆箱,例如把Integer類的對象重新簡化為int。包裝類的應(yīng)用八個(gè)包裝類的使用比較相似,下面是常見的應(yīng)用場景。1)實(shí)現(xiàn)int和Integer的相互轉(zhuǎn)換可以通過Integer類的構(gòu)造方法將int裝箱,通過Integer類的intValue方法將Integer拆箱。例如:1.publicclassDemo{2.publicstaticvoidmain(String[]args){3.intm=500;4.Integerobj=n

4、ewInteger(m);//手動裝箱5.intn=obj.intValue();//手動拆箱6.System.out.println("n="+n);7.8.Integerobj1=newInteger(500);9.System.out.println("obj等價(jià)于obj1?"+obj.equals(obj1));10.}11.}運(yùn)行結(jié)果:n=500obj等價(jià)于obj1?true2)將字符串轉(zhuǎn)換為整數(shù)Integer類有一個(gè)靜態(tài)的paseInt()方法,可以將字符串轉(zhuǎn)換為整數(shù),語法為:1.parseInt(Strings

5、,intradix);s為要轉(zhuǎn)換的字符串,radix為進(jìn)制,可選,默認(rèn)為十進(jìn)制。下面的代碼將會告訴你什么樣的字符串可以轉(zhuǎn)換為整數(shù):1.publicclassDemo{2.publicstaticvoidmain(String[]args){3.Stringstr[]={"123","123abc","abc123","abcxyz"};4.5.for(Stringstr1:str){6.try{7.intm=Integer.parseInt(str1,10);8.System.out.println(str1+"可以轉(zhuǎn)換為整

6、數(shù)"+m);9.}catch(Exceptione){10.System.out.println(str1+"無法轉(zhuǎn)換為整數(shù)");11.}12.}13.}14.}運(yùn)行結(jié)果:123可以轉(zhuǎn)換為整數(shù)123123abc無法轉(zhuǎn)換為整數(shù)abc123無法轉(zhuǎn)換為整數(shù)abcxyz無法轉(zhuǎn)換為整數(shù)3)將整數(shù)轉(zhuǎn)換為字符串Integer類有一個(gè)靜態(tài)的toString()方法,可以將整數(shù)轉(zhuǎn)換為字符串。例如:1.publicclassDemo{2.publicstaticvoidmain(String[]args){3.intm=500;4.String

7、s=Integer.toString(m);5.System.out.println("s="+s);6.}7.}運(yùn)行結(jié)果:s=500自動拆箱和裝箱上面的例子都需要手動實(shí)例化一個(gè)包裝類,稱為手動拆箱裝箱。Java1.5(5.0)之前必須手動拆箱裝箱。Java1.5之后可以自動拆箱裝箱,也就是在進(jìn)行基本數(shù)據(jù)類型和對應(yīng)的包裝類轉(zhuǎn)換時(shí),系統(tǒng)將自動進(jìn)行,這將大大方便程序員的代碼書寫。例如:1.publicclassDemo{2.publicstaticvoidmain(String[]args){3.intm=500;4.Integ

8、erobj=m;//自動裝箱5.intn=obj;//自動拆箱6.System.out.println("n="+n);7.8.Integerobj1=500;9.System.out.println("obj等價(jià)于obj1?"+obj.equals(obj1));10.}11.}運(yùn)行結(jié)果

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時(shí)可能會顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。