2

JAVA 中的包装类

定义

为了让基本数据类型也具备对象特性, Java 为每个基本数据类型都提供了一个包装类,这样我们就可以像操作对象那样来操作基本数据类型。
53abd8450001911703630223.jpg
区别:

  • 基本类型是直接用来存储值的,放在栈中方便快速使用,包装类型是类,其实例是对象,放在堆中
  • 基本类型不是对象,因此没有方法,包装类型是类,因此有方法
  • 基本类型直接赋值即可,包装类型需要使用new关键字创建
  • 包装类型初始值为null,基本类型初始值不为null,是根据类型而定的

应用场景

集合类泛型只能是包装类

// 编译报错  
List<int> list1 = new ArrayList<>(); 
// 正常  
List<Integer> list2 = new ArrayList<>();

成员变量不能有默认值

private int status;//默认值是0
private Integer status1;//默认值是null

方法参数允许定义空值

//必须传一个数字
private static void test1(int status){              System.out.println(status); 
}
//可以传null
private static void test2(Integer status){          System.out.println(status); 
}

拆箱、装箱

定义

装箱:将基本数据类型封装为包装类对象,利用每一个包装类提供的构造方法实现装箱操作。
拆箱:将包装类中包装的基本数据类型数据取出。

// 装箱  
Integer integer1 = new Integer(1); 
// 拆箱 
int integer2 = integer1.intValue();

JDK1.5之后提供自动拆装箱。

// 自动装箱 
Integer integer1 = 1;
// 自动拆箱  
int integer2 = integer1;

参考:
https://blog.csdn.net/zh15732...
https://www.cnblogs.com/javas...


smartboy
16 声望3 粉丝

您好,世界!