java中包装类及装箱拆箱

时间:2021-02-02 19:26:45

一.包装类

《Java编程思想》提到“万物皆为对象”,但是Java中基本数据类型不是类,所以为了可以让基本数据类型变为类的形式进行操作,在Java中引入了包装类的概念,用来完成对基本数据类型的封装。

所有的基本类型都有一个与之对应的类,如下:

java中包装类及装箱拆箱

注意,以上八种包装类分为两种类型:

数值型:Integer、Short、Long、Float、Double、Byte,它们是Number的子类

对象型:Character、Boolean,它们是Object的直接子类

二.装箱与拆箱

装箱:将一个基本数据类型变为包装类称为装箱操作

拆箱:将一个包装类变回基本数据类型,称为拆箱操作,转换的方法由Number类提供

下面看具体操作,这里以整形为例:

public class WrapperDemo{
public static void main(String[] args){
int x1 = 1;//基本数据类型
Integer temp = new Integer(x);//装箱操作
int x2 = temp.intValue();//拆箱操作
}
}
JDK1.5之后,增加了自动装箱和拆箱的操作

public class WrapperDemo{
public static void main(String[] args){
Integer temp = 1;//自动装箱
System.out.println(temp*temp);//先自动拆箱,之后计算再装箱;
int x = temp;//自动拆箱
}
}

参考资料:

李兴华JAVA基础讲解