关于装箱
基本类型转引用类型(对象类型)
Java中的装箱(boxing)是将一个基本数据类型转换为对应的封装类型。例如,将int类型的值转换为Integer类型。
装箱的主要目的是将基本数据类型与对象类型进行转换,以便能够将它们存储在集合、数组等对象结构中。
装箱是通过Java自动装箱机制实现的,它会自动将基本数据类型转换为对应的封装类型,从而简化了代码实现过程。例如,以下代码段是装箱的示例:
int num = 10;
Integer numObj = num; // 自动装箱
在这个代码段中,变量“num”是基本数据类型int,而变量“numObj”是封装类型Integer,通过将num赋值给numObj,Java会自动将int类型装箱为对应的Integer类型。
体验装箱
// 整数装箱
int i = 1;
Integer i2 = i;
// 布尔装箱
boolean b = true;
Boolean b2 = b;
// 小数装箱
double d = 3.14;
Double d2 = d;
基本类型 vs 引用类型
基本类型就是纯数据
只有数据
没有属性与方法
引用类型就是对象
具有数据
具有方法
关于拆箱
引用类型 转 基本类型
Java中的装箱(Boxing)是将基本数据类型转换为对应的包装类型,而拆箱(Unboxing)则是将包装类型转换为对应的基本数据类型。
例如,将int类型的变量转换为Integer类型的变量就是一个装箱过程,而将Integer类型的变量转换为int类型的变量就是一个拆箱过程。
装箱和拆箱的主要目的是为了在基本数据类型和包装类型之间进行转换,便于使用类似于集合类、泛型、反射等功能的时候需要使用包装类型。
拆箱示例
- 整数类型的拆箱示例:
Integer i = new Integer(10); // 装箱操作 int j = i.intValue(); // 拆箱操作 System.out.println("拆箱后的值:" + j); // 输出结果:拆箱后的值:10
- 小数类型的拆箱示例:
Double d = new Double(3.14); // 装箱操作 double pi = d.doubleValue(); // 拆箱操作 System.out.println("拆箱后的值:" + pi); // 输出结果:拆箱后的值:3.14
-
布尔类型的拆箱示例
Boolean b = new Boolean(true); // 装箱操作 boolean flag = b.booleanValue(); // 拆箱操作 System.out.println("拆箱后的值:" + flag); // 输出结果:拆箱后的值:true
这些示例中,装箱操作将基本数据类型转换为包装类型,而拆箱操作将包装类型转换为基本数据类型。使用包装类型主要是为了方便使用一些需要对象类型而非基本类型的操作,如集合类、泛型、反射等。
拆箱实操
// 整数拆箱
Integer integer = new Integer(13);
System.out.println(integer);
int i = integer.intValue();
System.out.println(i);
// 布尔拆箱
Boolean b = true;
boolean b2 = b.booleanValue();
System.out.println(b2);
// 小数拆箱
Double d = new Double(3.14);
double d2 = d.doubleValue();
System.out.println(d2);