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