Java8源码 java.lang 包 06、Number类

抽象类 Number 是表示数值的类,它是 BigDecimalBigIntegerByteShortIntegerLongFloat、和 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,用于序列化与反序列化,便于网络传输。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值