自动拆箱与封箱
Integer in = 1;// 自动封箱 Integer in= new Integer(1) in = in + 5;// 自动拆箱 in.intValue() 与int类型的5进行加运算 System.out.println(in);
数组集合中 集合中的元素只能是引用类型的对象
import java.util.ArrayList; ArrayList<Integer> array = new ArrayList<Integer>(); array.add(22);// int类型的22 自动被装箱为 Integer类的对象
自动拆箱与封箱的弊端-空指针异常 要防止引用变量指向null
自动拆箱与封箱的好处—基本类型和引用类对象两者直接运算
Integer in = null;// java.lang.NullPointerException
面试题
Integer i = new Integer(200); Integer j = new Integer(200); System.out.println(i == j); // 地址值的比较 false System.out.println(i.equals(j));// 对象值的比较 true Integer a = new Integer(127); Integer b = new Integer(127); System.out.println(a == b); // 地址值的比较 false System.out.println(a.equals(b));// 对象值的比较 true Integer m = 127;//m = new Integer(127); Integer n = 127;//n = m 当数据在byte内 JVM不会在堆区开辟新空间 引用对象n 指向的 就是对象m在堆中的内存地址 System.out.println(m == n); // 地址值的比较 true System.out.println(m.equals(n));// 对象值的比较 true Integer p = 128;//p = new Integer(127); Integer q = 128;//q = new Integer(127); System.out.println(p == q); // 地址值的比较 false System.out.println(p.equals(q));// 对象值的比较 true