装箱与拆箱
装箱过程是通过调用包装器的valueOf方法实现的,而拆箱过程是通过调用包装器的 xxxValue方法实现的(xxx代表对应的基本数据类型)。
Integer f1 = 1, f2 = 1, f3 = 200, f4 = 200;
// 对于引用类型的变量之间的比较是引用,而非变量的值
System.out.println(f1 == f2);//true
System.out.println(f3 == f4);//false
包装类Integer“==”运算在遇到算术运算的时会自动拆箱
Integer内部有一个缓存内部类IntegerCache,缓存范围(-128~127),当被赋的值在该范围内时,就直接从缓存池中去。