抽象类 Number
是表示数值的类,它是 BigDecimal
、BigInteger
、Byte
、 Short
、Integer
、Long
、Float
、和 Double
的父类。它定义了各种的 xxxValue
方法,用于将数值对象转换为基本类型。如 intValue()
就是将数据转换为 int 类型。
在进行转换时,由于每个基本类型的数据范围不一样,要注意范围越界、精度丢失等问题。比如 byte value = new Integer(129).byteValue();
就会出现越界的问题。因为 byte 的范围为 ~128-127。
public abstract class Number implements java.io.Serializable {
public byte byteValue() {
return (byte)intValue();
}
public short shortValue() {
return (short)intValue();
}
public abstract int intValue();
public abstract long longValue();
public abstract float floatValue();
public abstract double doubleValue();
}
Number
还实现了标识接口 Serializable
,用于序列化与反序列化,便于网络传输。