🔥 在 JAVA 中,八大基础数据类型(int,float,double...)不是继承自 Object,并且不具备对象的特征的。比如:基本数据类型就不能调用方法。
int i = 10; i.toString(); 使用这段代码就会出错。
🍊 但是我们在开发过程中肯定会遇到,将基本数据类型转换为String类型,或者其他数据类型,而这个时候如果我们要用基础数据类型实现这些转换就会非常麻烦,所以Java就有了基本数据类型的包装类,顾名思义,包装类就是:将基本数据类型包装成对象,使其具有了对象的属性和方法。 这样就可以使用方法和属性了。
而包装类的主要作用也就是:
将本类型与其他类型进行转换; 将字符串与本类型及包装类型相互转换。 因此为了在泛型代码中可以支持基本类型,并且让基本数据类型也具备对象的特征,Java 给每个基本类型都对应 一个包装类型
- 怎么使用包装类❓ 首先我们来看如何定义包装类:比如定义一个int类型的包装类
定义整形包装类 Integer i1 = new Integer(100); //定义一个值为100的 整形包装类 Integer i2 = 100 我们可能会有疑问,数据变成了包装类,之后要使用数据怎么办呢 --> 很简单,我们在将包装类转换成基本数据类型就可以了
包装类转换成基本数据类型 Integer i1 = new Integer(100); int value = i1;//方法1 int value2 = i1.intValue();//方法2 经过上述步骤就可以将包装类转换成基本数据类型了,这两个例子分别展示了如何将int类型转换成包装类,如何将包装类转换成int类型。
- 包装类与基本类型的转换 🔍 我们一般将“基本数据类型转换成包装类”的过程叫做装箱,将“包装类转换成基本数据类型”的过程叫做拆箱
当包装类与基本数据类型比较,会自动将包装类拆箱为基本数据类型 java1.5之后又自动装箱(autoboxing)和自动拆箱(autounboxing)功能 3.1 装箱 把基本数据类型转为包装类对象。 可以分为手动装箱和自动装箱: 是为了使用专门为对象设计的API和特性 下面以 int 类型为例:
int i = 10; // 定义一个 int 基本类型值 Integer x = new Integer(i); //手动装箱 Integer y = i; // 自动装箱 3.2 拆箱 把包装类对象拆为基本数据类型 可以分为手动拆箱和自动拆箱 一般是因为需要运算,Java中的大多数运算符是为基本数据类型设计的。比较、算术等 下面以 int 类型为例:
Integer j = new Integer(8); // 定义一个 Integer 包装类对象,值为8 int m = j.intValue(); // 手动拆箱 int 类型 int n = j; // 自动拆箱为 int 类型 注: 由于我们经常要做基本类型与包装类之间的转换,从JDK5.0 开始,基本类型与包装类的装箱、拆箱动作可以自动完成
注意:只能与自己对应的类型之间才能实现自动装箱与拆箱 ————————————————