Integer i = 10;
相当于:Integer i = Integer.valueOf(10);
拆箱:
Integer i = 10; //装箱
int t = i; //拆箱,实际上执行了 int t = i.intValue();
public static Integer valueOf(int i) { if (i >= IntegerCache.low && i <= IntegerCache.high) return IntegerCache.cache[i + (-IntegerCache.low)]; return new Integer(i); }
所以有如下结果:
int i = 10; Integer j = new Integer(10); Integer k = 10; Integer s = Integer.valueOf(10); System.out.println(i == j); //true System.out.println(j == k); //false System.out.println(k == s); //true System.out.println(j.equals(i)); //true
原文:http://www.cnblogs.com/zawier/p/5698308.html