JAVA 中的包装类
定义
为了让基本数据类型也具备对象的特性, Java 为每个基本数据类型都提供了一个包装类,这样我们就可以像操作对象那样来操作基本数据类型。
区别:
- 基本类型是直接用来存储值的,放在栈中方便快速使用,包装类型是类,其实例是对象,放在堆中
- 基本类型不是对象,因此没有方法,包装类型是类,因此有方法
- 基本类型直接赋值即可,包装类型需要使用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...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。