一.什么是Java中的拆箱和装箱
在Java中,拆箱(Unboxing)和装箱(Boxing)是将基本数据类型与对应的包装类对象之间进行转换的过程。
装箱(Boxing)是指将基本数据类型转换为对应的包装类对象。Java中每种基本数据类型都有对应的包装类,如将int类型转换为Integer对象,将double类型转换为Double对象等。装箱通过调用包装类的构造方法或静态方法实现。示例如下:
int num = 10; // 基本数据类型
Integer wrapper = Integer.valueOf(num); // 装箱
拆箱(Unboxing)是指将包装类对象转换为基本数据类型。与装箱相反,拆箱通过调用包装类的相应的方法(如intValue()、doubleValue()等)获取包装类对象中封装的基本数据类型的值。
int b = i1.intValue();//基本数据类型装箱
boolean bool2 = b1.booleanValue();//拆箱为基本数据类型
二.Java中的基本数据类型
Java有八大基本数据类型,可分为四种:
- 整型:byte(一个字节),short(两个字节),int(四个字节),long(八个字节)、
- 浮点型:float(四个字节),double(八个字节)
- 字符类型:char(两个字节)
- 布尔类型:boolean
这八种基本数据类型没有方法,所以jdk为这个八大基本数据类型提供了对应的类类型,而且数值类型的包装类都有一个共同的父类: Numbe
boolean –> Boolean
byte –> Byte
short –> Short
long –> Long
float–> Float
double –> Double
char –> Character
int –> Integer
三.装箱操作
装箱操作:将基本数据类型转换为包装类型
操作:调用基本数据类型对应的包装类中的静态方法valueOf()
示例:
int a = 10;
Integer i1 = Integer.valueOf(a);
System.out.println(i1);
boolean bool = true;
Boolean b1 = Boolean.valueOf(bool);
System.out.println(b1);
四.拆箱操作
拆箱操作:将包装类型转换为基本数据类型
操作:调用包装类非静态方法: xxxValue()其中的 xxx:代表着所对应基本数据类型
Boolean: booleanValue()
Integer: intValue()
Double: doubleValue()
示例
int b = i1.intValue();
System.out.println(b);
boolean bool2 = b1.booleanValue();
System.out.println(bool2);