1. 包装类型
Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class)。
包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示
在这八个类名中,除了Integer和Character类以后,其它六个类的类名和基本数据类型一致,只是类名的第一个字母大写即可。
2. 为什么需要包装类
很多人会有疑问,既然Java中为了提高效率,提供了八种基本数据类型,为什么还要提供包装类呢?
这个问题,其实前面已经有了答案,因为Java是一种面向对象语言,很多地方都需要使用对象而不是基本数据类型。比如,在集合类中,我们是无法将int 、double等类型放进去的。因为集合的容器要求元素是Object类型。
为了让基本类型也具有对象的特征,就出现了包装类型,它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。
3. 拆箱与装箱
package com.se.PackageClass; public class BooleanTest { public static void main(String[] args) { //boolean Boolean 相互之间的转换 //boolean --> Boolean 装箱操作 Boolean b = false; Boolean b1 = new Boolean(b); // 装箱操作 Boolean b2 = b; // 自动装箱操作 System.out.println(b1); System.out.println(b2); //Boolean --> boolean 拆箱操作 boolean b3 = b1.booleanValue(); // 拆箱操作 boolean b4 = b1; // 自动拆箱操作 System.out.println(b3); System.out.println(b4); } }
参考博客:https://blog.csdn.net/wufaliang003/article/details/82347077