1. 程式人生 > >Java Number類(數據類型的包裝類)

Java Number類(數據類型的包裝類)

spa byte unbox pre mask 編譯 http ati 類型

Java Number

一般地,當需要使用數字的時候,我們通常使用內置數據類型,如:byte、int、long、double等。
例如:

    int i = 5000;
    float gpa = 13.65;
    byte mask = 0xaf;
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

然而,在實際開發過程中,我們經常會遇到需要使用對象,而不是內置數據類型的情形。為了解決這個問題,Java語言為每一個內置數據類型提供了對應的包裝類。
所有的包裝類(Integer、Long、Byte、Double、Float、Short)都是抽象類Number的子類。

這種由編譯器特別支持的包裝稱為裝箱

,所以當內置數據類型被當作對象使用的時候,編譯器會把內置類型裝箱為包裝類。相似的,編譯器也可以把一個對象拆箱為內置類型。Number類屬於java.lang包。
下面是一個裝箱與拆箱的例子:

    public class Test{
       public static void main(String args[]){
          Integer x = 5; // boxes int to an Integer object
          x =  x + 10;   // unboxes the Integer to a int
          System.out.println(x);
       }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

運行結果如下:
15

當x被賦為整型值時,由於x是一個對象,所以編譯器要對x進行裝箱。然後,為了使x能進行加運算,所以要對x進行拆箱。

為了使x能進行加運算,所以要對x進行拆箱。

為了使x能進行加運算,所以要對x進行拆箱。

為了使x能進行加運算,所以要對x進行拆箱。

為了使x能進行加運算,所以要對x進行拆箱。

為了使x能進行加運算,所以要對x進行拆箱。

為了使x能進行加運算,所以要對x進行拆箱。

Java Number類(數據類型的包裝類)