但是對於包裝類而言,又可以將其分爲兩類:
├ . 對象型包裝類: (直接繼承自Object):Boolean、Character.
├ . 數值型包裝類: (Number的子類):Byte、Short、Integer、Long、Float、Double.
Number本身是一個抽象類.定義了從包裝類裏面取出基本數據的操作.
對於包裝類而言,有兩個最爲重要的操作:
├ . 裝箱 : 將基本數據類型變爲包裝類對象的形式,往往都使用各個包裝類的構造方法;
├ . 拆箱 : 從包裝類之中取出包含的基本數據類型的數據,都利用Number類中的方法.
以Integer類爲例:
Integer obj = new Integer(10); //裝箱
int temp = obj.intValue(); //拆箱
System.out.println(temp);
以Boolean類爲例:Boolean obj = new Boolean(true); //裝箱
boolean temp = obj.booleanValue(); //拆箱
System.out.println(temp);
★ . 從JDK1.5之後,Java提供了自動裝箱和自動拆箱的操作.
以Integer類爲例:
Integer obj = 10; //自動裝箱
int temp = obj; //自動拆箱
System.out.println(temp * 2);
System.out.println(obj * 10);
以Boolean類爲例:
Boolean obj = true; //自動裝箱
boolean temp = obj; //自動拆箱
System.out.println(temp);
在使用包裝類的過程之中還有一個最爲重要的應用概念就是可以將String型數據轉變爲基本數據類型.或者將基本數據類型轉變爲String型數據
★ . 字符串轉變爲基本數據類型,依靠的是包裝類的parseXXX()方法.
String str = "123"; //字符串的內容必須爲int數據格式
int temp = Integer.parseInt(str);
System.out.println(temp * 2);
String s = "12.3"; //字符串的內容必須爲double數據格式
double d = Double.parseDouble(s);
System.out.println(d * 2);
String ss = "true"; //當字符串的內容不爲boolean格式 的話,按false處理
String sss = "abc";
boolean b = Boolean.parseBoolean(ss);
boolean bb = Boolean.parseBoolean(sss);
System.out.println(b);
System.out.println(bb);
★ . 基本數據類型轉變爲字符串,有兩種方法.
├ . 任何一個基本數據類型與字符串進行連接操作,都會變成字符串.
int a = 100;
String s = a + "";
System.out.println(s);
本操作一定要編寫一個空的字符串,而且這個字符串最終是不需要的,所以就會產生垃圾.├ . 利用String類中提供的valueOf()方法來實現.
int a = 100;
String s = String.valueOf(a);
System.out.println(s);
而有了自動的裝箱之後,可以利用Object類接收所有的基本數據類型.
範例:利用Object類接收int數據
//int --> Integer --> Object
Object obj = 10;
System.out.println(obj);
//取數據
int temp = (Integer)obj;
System.out.println(temp);