包装类
有时,需要将int这样的基本类型转换为对象。所有的基本类型都有一个与之对应的类。例如,Integer类对应基本类型的int。通常,这些类称为包装器。这些包装器类有显而易见的名字:Integer、Long、Float、Double、Short、Byte、Character和Boolean(前6个类派生于公共的类Number)。包装器是不可变的,即一旦构造了包装器,就不允许更改包装在其中的值。同时,包装器还是final,因此不能派生它们的子类。
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
包装器的一些方法
包装器类里有一些非常常用的方法,比如:Integer.parseInt(s);
装箱
装箱:将基本数据类型包装成包装类的实例
以前装箱可通过包装类的构造器来完成,但现在包装类的构造器已被标记为Deprecated。而现在推荐使用自动装箱
Integer n1 = 100;
Double n2 = 100.0;
拆箱
拆箱即装箱的逆过程,从包装类实例中获取基本数据类型值。
Integer n1 = 100;
Double n2 = 100.0;
int num1 = n1.intValue();
double num2 = n2.doubleValue();
也有自动拆箱,下面演示自动拆箱
Integer n1 = 100;
Double n2 = 100.0;
int num1 = n1 + 10;
double num2 = n2 * 3;