通常,當要在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類的方法
以下是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()方法 | 返回一個亂數。 |