12.JAVA-基本數據類型的包裝類操作
阿新 • • 發佈:2019-05-11
equals int ring 由於 style code void div align
1.基本數據類型的包裝類
java是一個面向對象編程語言,也就是說一切操作都要用對象的形式進行.但是有個矛盾:
- 基本數據類型(char,int,double等)不具備對象特性(不攜帶屬性和方法)
這樣非面向對象的基本數據類型,由於沒有附帶對象方法,比如沒有toString(),則會給用戶帶來非常不便.
所以從JDK1.0開始,JAVA專門給出了8種基本數據類型的包裝類,如下所示:
類型 |
基本數據類型名 |
對應的包裝類名 |
布爾型 |
boolean |
Boolean |
字符型 |
char |
Character |
短整型 |
short |
Short |
整型 |
int |
Integer |
長整型 |
long |
Long |
單精度浮點型 |
float |
Float |
雙精度浮點型 |
double |
Double |
2.包裝類之String轉換操作
在基本數據類型的8個包裝類中,一共有7個類都定義了XXX(String s)構造方法和parseXxx(String s)方法,它們功能就是實現將字符串變為指定XXX類型 的數據,只有Character類沒有,因為它本身就是字符類,
並且所有包裝類,都實現了toString()方法
3.包裝類的裝箱和拆箱操作
- 裝箱操作 : 將基本數據類型變為包裝類
- 拆箱操作 : 將包裝類中的數據取出到基本數據中
Ps: java包裝類提供自動裝箱和自動拆箱機制,能夠直接對包裝類對象進行數學計算
示例-double與Double之間的操作
//手動裝箱 Double obj1 = new Double("1.234"); Double obj2 = new Double(1.234); System.out.println(obj1.equals(obj2));//打印true System.out.println(obj1==obj2); //打印false,因為obj1和obj2的地址不同 System.out.println(obj1*2); //直接進行數學計算, 打印2.468 //自動裝箱 Double obj3 = 12.3; //等價於Double obj2 = new Double(12.3); //自動拆箱 double d = obj3; //d = 12.3 //手動拆箱 d = obj3.doubleValue() ; //d = 12.3
4.利用Object類來接收所有包裝類
由於包裝類的超類都是Object,所以我們可以通過Object參數,便能實現所有包裝類的一致性
示例如下:
public class Test { public static void print(Object obj) //打印所有包裝類的信息 { System.out.println(obj.toString()); } public static void main(String args[]){ Boolean obj1 = true; Integer obj2 = 10; Double obj3 = 1.234; print(obj1); print(obj2); print(obj3); } }
未完待續
12.JAVA-基本數據類型的包裝類操作