第49条:基本类型优先于装箱基本类型
java中类型系统有两部分组成基本类型如:int、double、boolean和引用类型如:String和List ,每个基本类型都有引用类型;
A.那他们的区别是什么呢?
1.基本类型有其初始值,装箱类型有基本类型值还有一个可以为null值;
2.在用“==”比较时,使用基本类型,使用装箱类型会导致值等,但对象不等的情况;
3.static Integer i; i=42; 会报空指针错误,原因是比较时Integer与int做比较,会进行自动拆箱,但是拆箱时如果是null就会报空指针异常,而如果Integer原先有值,则不会把异常;
4.进行运算时,用基本类型,慎用包装类型,因为包装类型进行自动拆箱和装箱会对效率降低;
B.什么时候用包装类型呢?
1.作为集合中的元素List<Integer>
2.参数化类型ThreadLocal<Integer>
3.进行反射的方法调用
作者:guanbin —— 纵码万里千山
出处:https://www.cnblogs.com/guanbin-529/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。