第49条 基本类型优先于装箱基本类型-2018-11-06

基本类型和装箱基本类型主要有3个区别:

  • 基本类型只有值,装箱类型有与其相同的值和不同的同一性(同一性:按下面案例理解)
  • 基本类型只有完备的值,装箱基本类型除了有值,还有非功能值:null
  • 基本类型通常比装箱基本类型更节省时间和空间。

看下面一段代码,理解两者另外的区别:(p192)

            Comparator comparatorInteger = new Comparator() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1 < o2 ? -1: (o1 == o2 ? 0 : 1);
            }
        };

他可以对任何不同值的装箱基本类型的列表排序,注意是任何不同的值。
问题就在,如果有相同值得比较时:

Integer(1), Integer(1)两者比较,返回值是:1,即它们并不相等,

比较的是对象(装箱基本类型的对象),体现出了上面说的同一性

你可能感兴趣的:(第49条 基本类型优先于装箱基本类型-2018-11-06)