Integer m =100;
Integer n = 100;
System.out.println(m==n); // true
System.out.println(m.equals(n)); // true
Integer m =128;
Integer n = 128;
System.out.println(m==n); // false
System.out.println(m.equals(n)); // true
原因是:在jdk1.5以后,自动装箱的值如果在byte范围之内,相同的值不会独自开辟空间,而是重复使用同一值的空间,享有同一指针,超过byte的范围则会另外开辟空间。