定义:自动装箱和自动拆箱是完成原始类型和对象类型之间的转换,
1.自动装箱:原始类型转换成对象类型
2.自动拆箱:对象类型转换成原始类型
技术要点:(以前人为的完成,现在编译器完成)
自动装箱时编译器调用valueOf()将原始类型值转换成对象类型,自动拆箱时编译器调用类似intValue()方法将对象类型转换成原始类型
弊端:
自动装箱有一个问题,那就是在一个循环中进行自动装箱操作的情况,就是会创建多余的对象,影响程序的性能
Integer sum=0;
for(int i=1000;i<5000;i++){
sum+=i; }
上面的代码sum+=i可以看成sum=sum+i,但是+这个操作符不适用Integer对象,首先sum进行自动拆箱操作,进行数值相加操作,最后进行自动装箱转换成Integer对象,在循环中多次的装箱和拆箱影响性能