1. 自动装箱与自动拆箱
那我们来分析Integer i = 5;
的过程;
在jdk1.5以前,这样的代码是错误的,必须要通过Integer i = new Integer(5);
这样的语句实现;
而在jdk1.5以后,Java提供了自动装箱的功能,只需Integer i = 5;
这样的语句就能实现基本数据类型传给其包装类,JVM为我们执行了Integer i = Integer.valueOf(5);
。
相对应的,把基本数据从对应包装类中取出的过程就是拆箱,如
源码方面,装箱过程是通过调用包装器的valueOf
方法实现的,而拆箱过程是通过调用包装器的xxxValue
方法实现的。(xxx代表对应的基本数据类型)