public class BoxingTest {
public static void main(String[] args){
Integer a = 100;
Integer b = 100;
System.out.println(a == b); //true
Integer c = new Integer(200);
Integer d = new Integer(200);
System.out.println(c == d); //false
Integer e = 300;
Integer f = 300;
System.out.println(e == f); //false
Integer i = 127;
Integer j = 127;
System.out.println(i == j); //?
Integer m = 128;
Integer n = 128;
System.out.println(m == n); //?
}
}
乍一看,百思不得其解,为什么第一个结果为true,后面两个结果却都是false呢?