Java进阶之effective java 笔记(一)

一、 基本类型优先于装箱基本类型

java的类型系统,可分为基本类型和引用类型,如int, double;引用类型如string list;每个基本类型都有其对应的引用类型,称为装箱基本类型。

要明白java中一切皆对象;基本类型只有值,而装箱类型的是一个类。

什么是自动装箱、自动拆箱?

提取装箱类型对用的基本类型的值的行为称为自动拆箱:当一项操作中混合着基本赖姓和装箱基本类型时,装箱基本类型就会自动拆箱。

基本类型和装箱基本类型的区别:

1、基本类型只有值,而包装类型则具有与它们的值不同的同一性(identity)。这个同一性是指,两个引用是否指向同一个对象,如果指向同一个对象,则说明具有同一性。(与此类似的还有等同性。)

2、基本类型只有功能完备的值,而包装类型除了其对应的基本类型所有的功能之外,还有一个非功能值:null。

3、基本类型通常比包装类型更节省时间与空间。

在如下三个地方,包装类型的使用会更合理
      1、作为集合中的元素、键和值。
      2、在参数化类型中。比如:你不能这样写——ArryList<int>,你只能写ArrayList<Integer>.
      3、在进行反射方法的调用时。

当必须使用装箱基本类型的时候需要注意一下几点:

   * 1:比较对象的值是否相等,不能使用==一定要使用equals
   * 2:当程序进行涉及装箱和拆箱基本类型的混合类型计算是,它会进行拆箱,当程序进行拆箱时,可能会抛出空指针异常。
   * 3:当程序装箱了基本类型值时,会导致高开销和不必要的对象创建。

 

总结:当可以选择时,应尽量选择使用基本类型,基本类型更加简单、更加快速。

二、

猜你喜欢

转载自www.cnblogs.com/shawshawwan/p/9006760.html
今日推荐