通常情況下,當(dāng)我們處理數(shù)字時(shí),使用原始數(shù)據(jù)類型,如 byte,int,long,double 等。
int i = 5000;
float gpa = 13.65;
byte mask = 0xaf;
然而,在開發(fā)中,我們會(huì)遇到需要使用對(duì)象而不是原始數(shù)據(jù)類型的情況。為了實(shí)現(xiàn)這個(gè), Java 為每個(gè)原始數(shù)據(jù)類型提供包裝類。
所有的包裝類 (Integer, Long, Byte, Double, Float, Short) 是抽象類 Number 的子類。
http://wiki.jikexueyuan.com/project/java/images/number_classes.jpg" alt="image" />
這種包裝是由編譯器處理,這個(gè)過程稱為裝箱。因此,當(dāng)一個(gè)原始數(shù)據(jù)類型被使用,當(dāng)需要一個(gè)對(duì)象時(shí),編譯器將原始數(shù)據(jù)放入其包裝類。同樣地,編譯器也能將對(duì)象取出返回到原始數(shù)據(jù)類型。Number 是 java.lang 包的一部分。
這里是裝箱和拆箱的一個(gè)例子:
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);
}
}
這將產(chǎn)生以下結(jié)果:
15
當(dāng) x 被分配整數(shù)值,則編譯器將整數(shù)放入箱中,因?yàn)?x 為整數(shù)對(duì)象。然后,x 被拆箱,以便它們可以被添加為整數(shù)。
以下是對(duì) Number 類實(shí)現(xiàn)的所有子類中實(shí)現(xiàn)的實(shí)例方法的列表:
SN | 方法描述 |
---|---|
1 | xxxValue() 這個(gè)Number對(duì)象的值轉(zhuǎn)換為XXX的數(shù)據(jù)類型并返回 |
2 | compareTo() 把這個(gè)Number對(duì)象與參數(shù)做比較 |
3 | equals() 確定這個(gè)數(shù)字對(duì)象是否等于參數(shù) |
4 | valueOf() 返回一個(gè)Integer對(duì)象持有指定的原始值 |
5 | toString() 返回表示指定的int或整數(shù)的值的String對(duì)象 |
6 | parseInt() 此方法用于獲取某個(gè)字符串的原始數(shù)據(jù)類型 |
7 | abs() 返回參數(shù)的絕對(duì)值 |
8 | ceil() 返回的最小整數(shù)大于或等于該參數(shù)。返回為double |
9 | floor() 返回的最大整數(shù)小于或等于該參數(shù)。返回為double |
10 | rint() 返回的整數(shù),它是最接近值該參數(shù)值。返回為double |
11 | round() 返回最接近的long或者int,通過該方法的返回類型所指參數(shù) |
12 | min() 返回兩個(gè)參數(shù)中較小的 |
13 | max() 返回兩個(gè)參數(shù)中較大的 |
14 | exp() 返回自然對(duì)數(shù)的底數(shù)e,該參數(shù)的冪值 |
15 | log() 返回參數(shù)的自然對(duì)數(shù) |
16 | pow() 返回第一個(gè)參數(shù)的提高至第二個(gè)參數(shù)的冪值 |
17 | sqrt() 返回參數(shù)的平方根 |
18 | sin() 返回指定的double值的正弦值 |
19 | cos() 返回指定的double值的余弦值 |
20 | tan() 返回指定的double值的正切值 |
21 | asin() 返回指定的double值的反正弦 |
22 | acos() 返回指定的double值的反余弦值 |
23 | atan() 返回指定的double值的反正切值 |
24 | atan2() 將直角坐標(biāo)(x,y)轉(zhuǎn)換為極坐標(biāo)(r,θ)并返回θ |
25 | toDegrees() 將參數(shù)轉(zhuǎn)換為度 |
26 | toRadians() 將參數(shù)轉(zhuǎn)換為弧度 |
27 | random() 返回一個(gè)隨機(jī)數(shù) |
在下一節(jié)中,我們將學(xué)習(xí) Character 類。將學(xué)習(xí)如何在 Java 中使用 Character 對(duì)象和基本數(shù)據(jù)類型 char。