装箱与拆箱允许程序员在基本数据类型和相应的包装类之间自动转换。
装箱指的是基本类型的值包装在包装类的对象中。例如,将int类型的值包装在一个Integer对象中。
拆箱则是相反的过程,将包装类的对象转换为基本类型的值。
装箱和拆箱也分为手动和自动。
先来说手动的怎么写:
int i =5;
Integer iInteger = new Integer(i);//手动装箱
int j = iInteger.intValue();//手动拆箱
再来说自动的怎么写:
int i = 5;
Integer iInteger = i;//自动装箱
int j = iInteger;//自动拆箱
这种自动装箱和拆箱的特性使得编写Java更加简洁,更加易读。自动装箱和拆箱虽然方便,但是在某些情况下可能会影响性能,因为它涉及到对象的创建和销毁。特别是在循环或者大量计算中,应该尽量避免使用。
自动装箱都是通过包装类的valueOf()方法来实现的,自动拆箱都是通过包装类对象的xxxValue()来实现的。比如,int的自动装箱都是通过Integer.valueOf()方法来实现的,Integer的自动拆箱都是通过Integer.intValue()来实现的。
你学废了吗?Keep going!!!