1、什么是对象包装器、装箱、拆箱?
对象包装器:每一个基本数据类型都有一个对应的包装类,这些类叫做对象包装器,例如:Integer、Long、Float、Double、Short、Byte、Character、Void、Boolean。
装箱:就是将基本数据类型转换成对应的包装类。
拆箱:就是将包装类转换成对应的基本数据类型。
2、装箱和拆箱示例
装箱:这里以int类型为例。
int a = 3;
Integer b = Integer.valueOf(a);
拆箱:
int a = 3;
Integer b = Integer.valueOf(a);
int c = b.intValue();
3、自动装箱、拆箱
系统会自动完成拆箱装箱
自动装箱
Integer a = 1000;
//相当于Integer a = Integer.valueOf(1000);
自动拆箱
Integer a = 1000;
int b = a;
//相当于int b = a.intValue();
4、关于自动装箱细节
自动装箱要求boolean、byte、char<=127,介于-128-127之间的short和int被包装到固定的对象(同一个对象)中。
public class main {
public static void main(String[] args) {
Integer a = 1000;
Integer b = 1000;
Integer c = 100;
Integer d = 100;
System.out.println(a == b);
System.out.println(c == d);
}
}