定義
Number 類定義如下:
package java.lang;
public abstract class Number implements java.io.Serializable
從這裡我們可以了解到以下幾點:
- 該類是 java.lang 包下的一個抽象類。
- 繼承了 io 的 Serializable 接口,是以該類可以進行序列化操作。
作為抽象類,它是 BigDecimal、BigInteger、Byte、Double、Float、Integer、Long 和 Short 類的父類。是以所有繼承 Number 類的子類都需要提供該抽象類中定義的方法。
屬性
該屬性值是為了序列化定義的,具體序列化的内容會在以後詳細說明。
方法
它提供了以下方法:
public abstract int intValue();
public abstract long longValue();
public abstract float floatValue();
public abstract double doubleValue();
public byte byteValue() {
return (byte)intValue();
}
public short shortValue() {
return (short)intValue();
}
我們可以看到這些方法都是 xxxValue,其作用就是将資料值轉換為相對應的類型。
方法聲明 | 作用 | 傳回值類型 |
---|---|---|
intValue | 擷取數值類對應的int數值 | 傳回int |
longValue | 擷取數值類對應的long數值 | 傳回long |
floatValue | 擷取數值類對應的float數值 | 傳回float |
doubleValue | 擷取數值類對應的double數值 | 傳回double |
byteValue | 擷取數值類對應的byte數值 | 傳回byte |
shortValue | 擷取數值類對應的short數值 | 傳回short |
方法測試
測試代碼:
public class Test {
public void testInteger() {
Integer num = new Integer(10);
System.out.println("intValue(): " + num.intValue());
System.out.println("longValue(): " + num.longValue());
System.out.println("floatValue(): " + num.floatValue());
System.out.println("doubleValue(): " + num.doubleValue());
System.out.println("byteValue(): " + num.byteValue());
System.out.println("shortValue(): " + num.shortValue());
}
}
測試結果:
intValue(): 10
longValue(): 10
floatValue(): 10.0
doubleValue(): 10.0
byteValue(): 10
shortValue(): 10