通常,當要在Java程式設計中使用數位時,可以使用原始資料型別,如:byte
,int
,long
,double
等。
範例
int i = 5000;
float gpa = 13.65;
double mask = 0xaf;
但是,在開發過程中,我們遇到的是需要使用物件而不是原始資料型別的情況。要實現這一點,可使用Java提供的包裝類。
所有包裝類(如:Integer
,Long
,Byte
,Double
,Float
,Short
)都是抽象類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
類的所有子類實現方法的列表 -
編號 | 方法 | 描述 |
---|---|---|
1 | xxxValue()方法 | 將此Number 物件的值轉換為xxx 資料型別並返回它。 |
2 | compareTo()方法 | 將此Number 物件與引數進行比較。 |
3 | equals()方法 | 確定此Number 物件是否等於引數。 |
4 | valueOf()方法 | 返回包含指定原始值的Integer 物件。 |
5 | toString()方法 | 返回表示指定int 或Integer 值的String 物件。 |
6 | parseInt()方法 | 返回某個String 的原始資料型別值。 |
7 | abs()方法 | 返回引數的絕對值。 |
8 | ceil()方法 | 返回大於或等於引數的最小整數,結果整數為double 型別。 |
9 | floor()方法 | 返回小於或等於引數的最大整數,結果整數為double 型別。 |
10 | rint()方法 | 返回與引數值最接近的整數,結果整數為double 型別。 |
11 | round()方法 | 返回最接近long 或int 值,由方法返回型別指示引數的返回型別。 |
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()方法 | 返回一個亂數。 |