Java之主数据类型的包装
? ? 所謂的主數(shù)據(jù)類型的包裝,就是需要以對象的方式來處理primitive主數(shù)據(jù)類型時,就把它包裝起來,這個的前提是Java 5.0以上的版本。每一個primitive主數(shù)據(jù)類型都有個包裝用的類,且因為這些包裝類都是在java.lang這個包中,所以無需import它們。對應(yīng)的包裝類的名稱都是依照所包裝的類型設(shè)定的,只是將其第一個字母改成大寫即可。包裝類有:
? ? ? ? Boolean Character Byte Short Integer Long Floag Double
//包裝值 int i = 20; //傳入primitive主數(shù)據(jù)類型給包裝類的構(gòu)造函數(shù) Integer iWrap = new Integer(i);//解開包裝 int unWrapped = iWrap.interValue(); public void doNumsNewWay(){//創(chuàng)建Integer類型的ArrayListArrayList<Integer> listOFNumbers = new ArrayList<Integer>();//雖然ArrayList沒有add(int)這樣的方法,但是編譯器會自動幫助你包裝listOfNumbers.add(3);//編譯器也會自動的解開Integer對象的包裝,因此可以知己賦值給intint num = listOfNumbers.get(0); }?這里就有一個疑問,為什么不直接聲明為ArrayList<int>呢??
因為generic類型的規(guī)則是你只能指定類或者接口類型,因此ArrayList<int>將無法編譯,但是可以直接把該包裝所對應(yīng)的primitive主數(shù)據(jù)類型放進(jìn)ArrayList中,例如boolean類型的放入ArrayList<Boolean>,chars類型放入到ArrayList<Characters>.
1、方法的參數(shù)
? ?如果參數(shù)是某種包裝類型,你可以傳入相對應(yīng)的primitive主數(shù)據(jù)類型,反之亦然
void takeNumber(Integer i){...}2、返回值
如果method聲明為返回某種primitive主數(shù)據(jù)類型,也可以返回兼容的primitive主數(shù)據(jù)類型或者該primitive主數(shù)據(jù)類型的包裝類型。
int giveNumber() {return x; }3、數(shù)字運算
可以在使用primitive主數(shù)據(jù)類型作為運算子的操作中以包裝類型來替換。
Integer i = new Integer(42); i++;Integer j = new Integer(24); Integer k = i + j;4、包裝類型轉(zhuǎn)換
常用的為將對應(yīng)的String類型的字符串?dāng)?shù)字轉(zhuǎn)換成對應(yīng)的數(shù)值
String s = "5"; int x = Integer.parseInt(s)double d = Double.parseDouble("1.23");//bool類型不同 boolean b = new Boolean("true").booleanValue();翻過來將primitive轉(zhuǎn)換成String類型
double d = 1.23; //“+”是Java中唯一有重載過的運算符 String doubleString = "" + d;double d = 1.23; String doubleString = Double.toString(d);?
總結(jié)
以上是生活随笔為你收集整理的Java之主数据类型的包装的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java之静态
- 下一篇: Java中工程、包、类介绍