值類型 | 引用類型 |
---|---|
int(4字節(jié)) | Integer |
byte(1字節(jié)) | Byte |
short(2字節(jié)) | Short |
long(8字節(jié)) | Long |
float(4字節(jié)) | Float |
double(8字節(jié)) | Double |
char(2字節(jié)) | Character |
boolean(未定) | Boolean |
- 定義
裝箱是將值類型轉(zhuǎn)換為引用類型伏伯,拆箱是將引用類型轉(zhuǎn)換為值類型蝇摸。利用裝箱和拆箱功能婶肩,可通過(guò)允許值類型的任何值與Object 類型的值相互轉(zhuǎn)換,將值類型與引用類型鏈接起來(lái)貌夕。 - 為什么要裝箱
一種最普通的場(chǎng)景是律歼,調(diào)用一個(gè)含類型為Object的參數(shù)的方法,該Object可支持任意為型啡专,以便通用险毁。當(dāng)你需要將一個(gè)值類型(如Int32)傳入時(shí),需要裝箱。
另一種用法是畔况,一個(gè)非泛型的容器离唐,同樣是為了保證通用,而將元素類型定義為Object问窃。于是,要將值類型數(shù)據(jù)加入容器時(shí)完沪,需要裝箱域庇。 - 裝箱/拆箱對(duì)執(zhí)行效率的影響
顯然,從原理上可以看出覆积,裝箱時(shí)听皿,生成的是全新的引用對(duì)象,這會(huì)有時(shí)間損耗宽档,也就是造成效率降低尉姨。