为什么要有包装类
①在面向对象中,“一切皆对象”,但基本数据类型的数据不太符合这一理念,基本数据类型不是对象
②涉及到类型之间的转化,数据类型之间的基本操作;如果都有我们自己去实现,那么工作量过大。
所以java针对每一个基本数据类型都设计了一个包装类
自动拆装箱
1.装箱:把基本类型数据转成对应的包装类对象。
//方式1
Integer i = Integer.value(13);
//方式二
Integer i = new Integer(13);
2.拆箱:把包装类对象转成对应的基本数据类型数据。
int value = i.intValue();
自动装箱(Autoboxing)和自动拆箱(AutoUnboxing)
在Java 5之前的版本中,基本数据类型和包装类之间的转换是需要手动进行的,但Sun公司从Java5开始提供了的自动装箱(Autoboxing)和自动拆箱(AutoUnboxing)操作 ;
自动装箱:可以把一个基本类型变量直接赋给对应的包装类型变量。
比如:Integer i = 13;
自动拆箱:允许把包装类对象直接赋给对应的基本数据类型变量。
比如:Integer i = new Integer(13); Int j = i;