一、概要
通常我们使用基本数据类型(primitive type)来表达数字,如int、long等。但JAVA集合在声明时只能存放引用类型的数据,而不能声明为基本数据类型。int、long等的引用类型即为其包装类型,如Integer、Long。如下图,这些包装类型都继承于Number,后者是一个抽象类.
二、构造方法
Number类无显式构造方法,默认为Number()
。
三、字段
Number类只有一个私有字段,即private static final long serialVersionUID = -8742448824652078965L;
四、方法
Number类包含4个抽象方法和2个具体方法。从下图可知,Number的所有子类必须实现xxxValue
,即子类间需要实现类型的互相转换。2个具体方法shortValue()
,byteValue()
直接调用了intValue()
,然后强转,因此需要注意的是转换过程中各个类型所能表示的精度和范围。。
shortValue()
public short shortValue(){
return (short) intValue();
}
复制代码
byteValue()
public byte byteValue(){
return (byte) byteValue();
}
复制代码