第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.进行反射的方法调用

posted @ 2017-12-29 00:31  纵码万水千山  阅读(215)  评论(0编辑  收藏  举报