基本类型和装箱基本类型主要有3个区别:
- 基本类型只有值,装箱类型有与其相同的值和不同的同一性(同一性:按下面案例理解)
- 基本类型只有完备的值,装箱基本类型除了有值,还有非功能值:null
- 基本类型通常比装箱基本类型更节省时间和空间。
看下面一段代码,理解两者另外的区别:(p192)
Comparator<Integer> comparatorInteger = new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o1 < o2 ? -1: (o1 == o2 ? 0 : 1);
}
};
他可以对任何不同值的装箱基本类型的列表排序,注意是任何不同的值。
问题就在,如果有相同值得比较时: