自动装箱/拆箱大大方便了基本类型数据和它们包装类的使用。
自动装箱:基本类型自动转为包装类.(int >> Integer)
自动拆箱:包装类自动转为基本类型.(Integer >> int)
自动装箱/拆箱是针对8个原生数据类型以及它们对应的8个包装类来说的,针对于它们之间的这种关系来说的。
我们知道java里面只有8个原生数据类型不是对象,剩下的其他的全都是对象,这样就造成一种局面,有些时候我们需要将原生数据类型放入到集合里面去,这时候你就要new出来一个包装类型,把包装类型放进去,放进去之后然后进行操作,取出来,取出来之后再去调用对应的方法转换成原生类型,这样转过来转过去是很麻烦的,所以jdk5.0开始就考虑到这个问题了,它就帮助我们简化了这个操作。它可以自动的实现原生类型到包装类型的转换,这种转换叫自动装箱;包装类型到原生类型的自动转换,叫自动拆箱。
class="java">package com.shengshiyuan4;
import java.util.ArrayList;
import java.util.Collection;
public class BoxTest {
public static void main(String[] args) {
int a = 3;
Collection<Integer> c = new ArrayList<Integer>();
// 这里并不是说把3添加到集合里,而是它会自动将3转换成一个Integer类型的对象,并且将这个对象的引用放置到集合c里面去。这就是所谓的自动的装箱
c.add(3);
for (Integer i : c) {
System.out.println(i);
}
}
}