java自动拆装箱
前言
我们知道,Java有8中基本数据类型,分别是byte,short,int,long,char,float,double,boolean,
但是定义的这些基本数据类型的值只是一个字面量,而字面量的补码是的的确确存储在内存上的一个量,这个量
不具有其他的方法属性。但是我们在编程开发中有把一个整型int转换成字符串等的需求,再如当我们需要把数据
放到集合中时,我们的基本数据类型是不允许被放入的,而Java中的中心思想就是对象,所以Java将它们封装成
对象Byte、Short、Integer、Long、 Character、Float、Double、Boolean,并给出相应的方法。这样当我们有需
求的时候我们就可以通过相对应的对象进行调用方法来解决。
拆箱与装箱
那么,有了基本数据类型和包装类,肯定有些时候要在他们之间进行转换。比如把一个基本数据类型的int转换成一个包装类型的Integer对象。
我们认为包装类是对基本类型的包装,所以,把基本数据类型转换成包装类的过程就是打包装,英文对应于boxing,中文翻译为装箱。
反之,把包装类转换成基本数据类型的过程就是拆包装,英文对应于unboxing,中文翻译为拆箱。
自动拆箱与自动装箱
在Java SE5中,为了减少开发人员的工作,Java提供了自动拆箱与自动装箱功能。
自动装箱: 就是将基本数据类型自动转换成对应的包装类。
自动拆箱:就是将包装类自动转换成对应的基本数据类型。