1. 程式人生 > >12.JAVA-基本數據類型的包裝類操作

12.JAVA-基本數據類型的包裝類操作

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-基本數據類型的包裝類操作