Java Number類


通常,當要在Java程式設計中使用數位時,可以使用原始資料型別,如:byteintlongdouble等。

範例

int i = 5000;
float gpa = 13.65;
double mask = 0xaf;

但是,在開發過程中,我們遇到的是需要使用物件而不是原始資料型別的情況。要實現這一點,可使用Java提供的包裝類。

所有包裝類(如:IntegerLongByteDoubleFloatShort)都是抽象類Number的子類。

Number類

包裝類的物件包含或包裝其各自的基本資料型別。將原始資料型別轉換為物件稱為裝箱,編譯器會對此進行處理。 因此,在使用包裝器類時,只需將原始資料型別的值傳遞給包裝類別建構函式就可以對它進行對應的操作。

並且包裝物件將轉換回原始資料型別,並且此過程稱為拆箱Number類是java.lang包的一部分。

以下是裝箱和拆箱的範例 -

public class Test {

   public static void main(String args[]) {
      Integer x = 5; // 裝箱:將 int 新增到 Integer 物件
      x =  x + 1000;   // 拆箱:將Integer 物件轉為 int 
      System.out.println(x); 
   }
}

執行上面範例程式碼,得到以下結果:

1005

x賦予整數值時,編譯器將整數裝箱,因為x是整數物件。 之後,x又被拆箱,以便它們可以作為整數執行加法運算。

Number類的方法

以下是Number類的所有子類實現方法的列表 -

編號 方法 描述
1 xxxValue()方法 將此Number物件的值轉換為xxx資料型別並返回它。
2 compareTo()方法 將此Number物件與引數進行比較。
3 equals()方法 確定此Number物件是否等於引數。
4 valueOf()方法 返回包含指定原始值的Integer物件。
5 toString()方法 返回表示指定intInteger值的String物件。
6 parseInt()方法 返回某個String的原始資料型別值。
7 abs()方法 返回引數的絕對值。
8 ceil()方法 返回大於或等於引數的最小整數,結果整數為double型別。
9 floor()方法 返回小於或等於引數的最大整數,結果整數為double型別。
10 rint()方法 返回與引數值最接近的整數,結果整數為double型別。
11 round()方法 返回最接近longint值,由方法返回型別指示引數的返回型別。
12 min()方法 返回兩個引數中最小的那一個。
13 max()方法 返回兩個引數中最大的那一個。
14 exp()方法 返回 e 的 x 次冪。e 代表自然對數的底數,其值近似為 2.71828
15 log()方法 返回引數的自然對數。
16 pow()方法 返回第一個引數的第二個引數的指數冪(乘方)值。
17 sqrt()方法 返回引數的平方根。
18 sin()方法 返回指定double值的正弦值。
19 cos()方法 返回指定double值的餘弦值。
20 tan()方法 返回指定double值的正切值。
21 asin()方法 返回指定double值的反正弦值。
22 acos()方法 返回指定double值的反餘弦值。
23 atan()方法 返回指定double值的反正切值。
24 atan2()方法 將直角坐標(x,y)轉換為極坐標(r,theta)並返回theta。
25 toDegrees()方法 將引數轉換為度數。
26 toRadians()方法 將引數轉換為弧度。
27 random()方法 返回一個亂數。