一、了解包裝類
在java中一直提倡一個(gè)概念:一切皆對(duì)象,那么結(jié)合object的特點(diǎn)實(shí)際上就非常容易理解(在全部都是對(duì)象時(shí),Object才可以達(dá)到統(tǒng)一參數(shù)的目的),但是在這之中就出現(xiàn)了一個(gè)不和諧的地方:基本數(shù)據(jù)類型不是對(duì)象,所以最早時(shí)部分人把基本數(shù)據(jù)類型做一個(gè)簡(jiǎn)單包裝。類似如下結(jié)構(gòu):


以上代碼簡(jiǎn)單,但是比較麻煩,針對(duì)基本數(shù)據(jù)類型給出了系統(tǒng)包裝類:int(Integer),char(Character),byte(Byte),short(Short),long(Long),float(Float),double(double),boolean(Boolean)。
但是以上八中包裝類分為兩組:Boolean、Character;
1)對(duì)象型包裝類(直接繼承了object類):
2)數(shù)值型包裝類:(繼承了Number類):Byte、Short、Integer、Long、Float、Double;
Number本身是一個(gè)抽象類,再此類中提供了有如下的方法:byteValue(),shortValue()、longValue()、doubleValue()、floatValue()、這六個(gè)方法就是就包裝類里取出被包裝的基本數(shù)據(jù)。
二、裝箱與拆箱
現(xiàn)在對(duì)于數(shù)據(jù)就提供有基本數(shù)據(jù)類型與之對(duì)應(yīng)的包裝類型,而這兩者的轉(zhuǎn)換定義如下:
1. 裝箱操作:將基本數(shù)據(jù)類型變?yōu)榘b類對(duì)象,一般利用各個(gè)包裝類的構(gòu)造方法進(jìn)行。
2.拆箱操作:將包裝類中所含的基本類型取出,一般都使用Number類定義的方法。
范例:以int和Integer為例:

范例:以double和Double為例

Integer和double都屬于數(shù)值型的包裝類,而對(duì)于包裝類還存在有對(duì)象型。
范例:以boolean和Boolean為例

以上代碼都是在jdk1.5之前使用的,一切的操作必須手工的裝箱和拆箱,但從jdk1.5后開始增加了自動(dòng)裝箱和自動(dòng)拆箱的功能,所有的包裝類對(duì)象也可以直接進(jìn)行各種數(shù)學(xué)計(jì)算。
范例:自動(dòng)裝箱和自動(dòng)拆箱

所以在以后開發(fā)中沒有必要再去調(diào)用構(gòu)造或者調(diào)用XXXValue()方法進(jìn)行操作了。既然有了自動(dòng)裝箱和拆箱操作,則意味著基本數(shù)據(jù)類型可以直接被object接受。
范例:使用object接受double數(shù)據(jù)

目前為止,object可以接受所有的參數(shù)了。
|
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注