Java自动装箱

 

自动装箱规范要求boolen、byte、char≤127,介于-128~127之间的short和int被包装到固定的对象中。例如将a、b初始化为100,对他们进行比较,一定会成立。

关于自动装箱的说明:

首先,由于包装器类引用可以为null,所以自动装箱有可能会抛出一个异常:

Java自动装箱

另外,如果在一个条件表达式中混用Interger和Double类型,Interger会自动拆箱,提升为Double,再装箱为Double:

Java自动装箱

最后强调一下,装箱和拆箱是编译器认可的,而不是虚拟机。编译器在生成类的字节码时,插入必要的方法调用。虚拟机只是执行这些字节码。