亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    java包裝類(lèi)詳解

    java包裝類(lèi)詳解

    一、定義:

    (推薦學(xué)習(xí):java入門(mén)程序)

    Java是一個(gè)面向?qū)ο蟮木幊陶Z(yǔ)言,但是Java中的八種基本數(shù)據(jù)類(lèi)型并不是面向?qū)ο蟮模瑸榱耸褂梅奖愫徒鉀Q這個(gè)不足,在設(shè)計(jì)類(lèi)時(shí)為每個(gè)基本數(shù)據(jù)類(lèi)型設(shè)計(jì)了一個(gè)對(duì)應(yīng)的類(lèi)進(jìn)行代表,這樣八種基本數(shù)據(jù)類(lèi)型對(duì)應(yīng)的類(lèi)統(tǒng)稱(chēng)為包裝類(lèi)(Wrapper Class),包裝類(lèi)均位于java.lang包中。

    二、包裝類(lèi)的用途

    為了使用方便,Java中將8中基本數(shù)據(jù)類(lèi)型進(jìn)行了封裝:除了Integer和Character類(lèi)以外,其它六個(gè)類(lèi)的類(lèi)名和基本數(shù)據(jù)類(lèi)型一致,只要將類(lèi)名的第一個(gè)字母大寫(xiě)即可。

    boolean —> Boolean

    char —> Character

    byte—> Byte

    short—> Short

    long—> Long

    int —> Integer

    float—> Float

    double—> Double

    對(duì)于包裝類(lèi)說(shuō),用途主要包含兩種:

    a、作為和基本數(shù)據(jù)類(lèi)型對(duì)應(yīng)的類(lèi)存在,方便涉及到對(duì)象的操作。

    b、包含每種基本數(shù)據(jù)類(lèi)型的相關(guān)屬性,如最大值、最小值等,以及相關(guān)的操作方法。

    三、包裝類(lèi)的實(shí)際使用(以int和integer為例)

    1、int和integer類(lèi)之間的轉(zhuǎn)換

    在實(shí)際轉(zhuǎn)換時(shí),使用Integer類(lèi)的構(gòu)造方法和Integer類(lèi)內(nèi)部的intValue方法實(shí)現(xiàn)這些類(lèi)型之間的相互轉(zhuǎn)換。

            //         int n=5;         Integer n1=new Integer(n);         System.out.println("int類(lèi)型轉(zhuǎn)換為integer類(lèi):"+n1);         //         Integer i=new Integer(50);         int i1 = i.intValue();         System.out.println("integer類(lèi)轉(zhuǎn)換為int類(lèi)型:"+i1);

    2、Integer類(lèi)內(nèi)部的常用方法

    Integer類(lèi)的主要方法有:parseInt方法和toString方法。

            //parseInt方法: 數(shù)字字符串類(lèi)型轉(zhuǎn)成int類(lèi)型         String ss="123";         int ii = Integer.parseInt(ss);         System.out.println("字符類(lèi)型轉(zhuǎn)成整型:"+ii);         //toString方法:int類(lèi)型轉(zhuǎn)成數(shù)字字符串類(lèi)型         int ii2=123;         String ss2 = Integer.toString(ii2);         System.out.println("int類(lèi)型轉(zhuǎn)成數(shù)字字符串類(lèi)型:"+ss);

    JDK自從1.5版本以后,就引入了自動(dòng)拆裝箱的語(yǔ)法,也就是在進(jìn)行基本數(shù)據(jù)類(lèi)型和對(duì)應(yīng)的包裝類(lèi)轉(zhuǎn)換時(shí),系統(tǒng)將自動(dòng)進(jìn)行,這將大大方便程序員的代碼書(shū)寫(xiě)。

    (視頻教程推薦:java視頻教程)

    自動(dòng)裝箱:將 基本數(shù)據(jù)類(lèi)型 封裝為對(duì)象類(lèi)型,來(lái)符合java的面向?qū)ο蟮乃枷搿?

    自動(dòng)拆箱:將對(duì)象重新轉(zhuǎn)化為基本數(shù)據(jù)類(lèi)型。

            //5是基本數(shù)據(jù)類(lèi)型,通過(guò)自動(dòng)裝箱變成對(duì)象類(lèi)型。         //編譯器執(zhí)行了Integer iii = Integer.valueOf(5)         Integer iii=5;         //自動(dòng)拆箱,實(shí)際上執(zhí)行了 int iii2 = iii.intValue()         int iii2=iii;         System.out.println(iii2);

    說(shuō)明:Integer iii=5;相當(dāng)于編譯器執(zhí)行了Integer iii = Integer.valueOf(5)操作。

    這個(gè)方法就是返回一個(gè) Integer對(duì)象,只是在返回之前,看作了一個(gè)判斷,判斷當(dāng)前 i 的值是否在 [-128,127] 區(qū)別,且 IntegerCache 中是否存在此對(duì)象,如果存在,則直接返回引用,否則,創(chuàng)建一個(gè)新的對(duì)象。

    3、包裝類(lèi)的緩存值

    各個(gè)包裝類(lèi)緩存值范圍 :

    boolean:true和false  byte:-128~127  char:0~127  short:-128~127  int:-128~127  long:-128~127

    特別注意:對(duì)于float和double沒(méi)有緩存。

    在對(duì)上述值進(jìn)行裝箱的時(shí)候(如:Character c1=127;or Integer i= Integer.valueOf(1); 這個(gè)不行哦:Integer i2=new Integer(1);因?yàn)檫@是新建了一個(gè)對(duì)象出來(lái)。),并不是創(chuàng)建一個(gè)新對(duì)象而是使用緩存中的對(duì)象,如果超出范圍則需要新建立對(duì)象。

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)