一般地,當(dāng)需要使用數(shù)字的時(shí)候,我們通常使用內(nèi)置數(shù)據(jù)類型,如:byte、int、long、double等。
int i = 5000; float gpa = 13.65; byte mask = 0xaf;
然而,在實(shí)際開發(fā)過程中,我們經(jīng)常會(huì)遇到需要使用對(duì)象,而不是內(nèi)置數(shù)據(jù)類型的情形。為了解決這個(gè)問題,Java語(yǔ)言為每一個(gè)內(nèi)置數(shù)據(jù)類型提供了對(duì)應(yīng)的包裝類。
所有的包裝類(Integer、Long、Byte、Double、Float、Short)都是抽象類Number的子類。
這種由編譯器特別支持的包裝稱為裝箱,所以當(dāng)內(nèi)置數(shù)據(jù)類型被當(dāng)作對(duì)象使用的時(shí)候,編譯器會(huì)把內(nèi)置類型裝箱為包裝類。相似的,編譯器也可以把一個(gè)對(duì)象拆箱為內(nèi)置類型。Number類屬于java.lang包。
下面是一個(gè)裝箱與拆箱的例子:
public class Test{ public static void main(String args[]){ Integer x = 5; // boxes int to an Integer object x = x + 10; // unboxes the Integer to a int System.out.println(x); } }
以上實(shí)例編譯運(yùn)行結(jié)果如下:
15
當(dāng)x被賦為整型值時(shí),由于x是一個(gè)對(duì)象,所以編譯器要對(duì)x進(jìn)行裝箱。然后,為了使x能進(jìn)行加運(yùn)算,所以要對(duì)x進(jìn)行拆箱。
![]() | ![]() .. 定價(jià):¥45 優(yōu)惠價(jià):¥42 更多書籍 |
![]() | ![]() .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書籍 |