一、定義:
岳陽縣網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),岳陽縣網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為岳陽縣上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的岳陽縣做網(wǎng)站的公司定做!(推薦學(xué)習(xí):java入門程序)
Java是一個(gè)面向?qū)ο蟮木幊陶Z言,但是Java中的八種基本數(shù)據(jù)類型并不是面向?qū)ο蟮?,為了使用方便和解決這個(gè)不足,在設(shè)計(jì)類時(shí)為每個(gè)基本數(shù)據(jù)類型設(shè)計(jì)了一個(gè)對(duì)應(yīng)的類進(jìn)行代表,這樣八種基本數(shù)據(jù)類型對(duì)應(yīng)的類統(tǒng)稱為包裝類(Wrapper Class),包裝類均位于java.lang包中。
二、包裝類的用途
為了使用方便,Java中將8中基本數(shù)據(jù)類型進(jìn)行了封裝:除了Integer和Character類以外,其它六個(gè)類的類名和基本數(shù)據(jù)類型一致,只要將類名的第一個(gè)字母大寫即可。
boolean —> Boolean
char —> Character
byte—> Byte
short—> Short
long—> Long
int —> Integer
float—> Float
double—> Double
對(duì)于包裝類說,用途主要包含兩種:
a、作為和基本數(shù)據(jù)類型對(duì)應(yīng)的類存在,方便涉及到對(duì)象的操作。
b、包含每種基本數(shù)據(jù)類型的相關(guān)屬性,如值、最小值等,以及相關(guān)的操作方法。
三、包裝類的實(shí)際使用(以int和integer為例)
1、int和integer類之間的轉(zhuǎn)換
在實(shí)際轉(zhuǎn)換時(shí),使用Integer類的構(gòu)造方法和Integer類內(nèi)部的intValue方法實(shí)現(xiàn)這些類型之間的相互轉(zhuǎn)換。
// int n=5; Integer n1=new Integer(n); System.out.println("int類型轉(zhuǎn)換為integer類:"+n1); // Integer i=new Integer(50); int i1 = i.intValue(); System.out.println("integer類轉(zhuǎn)換為int類型:"+i1);
2、Integer類內(nèi)部的常用方法
Integer類的主要方法有:parseInt方法和toString方法。
//parseInt方法: 數(shù)字字符串類型轉(zhuǎn)成int類型 String ss="123"; int ii = Integer.parseInt(ss); System.out.println("字符類型轉(zhuǎn)成整型:"+ii); //toString方法:int類型轉(zhuǎn)成數(shù)字字符串類型 int ii2=123; String ss2 = Integer.toString(ii2); System.out.println("int類型轉(zhuǎn)成數(shù)字字符串類型:"+ss);
JDK自從1.5版本以后,就引入了自動(dòng)拆裝箱的語法,也就是在進(jìn)行基本數(shù)據(jù)類型和對(duì)應(yīng)的包裝類轉(zhuǎn)換時(shí),系統(tǒng)將自動(dòng)進(jìn)行,這將大大方便程序員的代碼書寫。
(視頻教程推薦:java視頻教程)
自動(dòng)裝箱:將 基本數(shù)據(jù)類型 封裝為對(duì)象類型,來符合java的面向?qū)ο蟮乃枷搿?/p>
自動(dòng)拆箱:將對(duì)象重新轉(zhuǎn)化為基本數(shù)據(jù)類型。
//5是基本數(shù)據(jù)類型,通過自動(dòng)裝箱變成對(duì)象類型。 //編譯器執(zhí)行了Integer iii = Integer.valueOf(5) Integer iii=5; //自動(dòng)拆箱,實(shí)際上執(zhí)行了 int iii2 = iii.intValue() int iii2=iii; System.out.println(iii2);
說明: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、包裝類的緩存值
各個(gè)包裝類緩存值范圍 :
boolean:true和false byte:-128~127 char:0~127 short:-128~127 int:-128~127 long:-128~127
特別注意:對(duì)于float和double沒有緩存。
在對(duì)上述值進(jìn)行裝箱的時(shí)候(如:Character c1=127;or Integer i= Integer.valueOf(1); 這個(gè)不行哦:Integer i2=new Integer(1);因?yàn)檫@是新建了一個(gè)對(duì)象出來。),并不是創(chuàng)建一個(gè)新對(duì)象而是使用緩存中的對(duì)象,如果超出范圍則需要新建立對(duì)象。
網(wǎng)站欄目:java包裝類詳解
瀏覽地址:http://weahome.cn/article/cpcoci.html