Integer类型的易错面试题:
Integer在类加载的时候已经缓存了-128-127大小的数据,所以i==j;i1和j1因为不在缓存范围,相当于重新new了两个数据,所以i1,j1的==比较为false。
public class ForTest {
public static void main(String[] args) {
Integer i = 127;
Integer j = 127;
System.out.println(j == i);
System.out.println("==============");
Integer i1 = 128;
Integer j1 = 128;
System.out.println(j1 == i1);
System.out.println(j1.equals(i1));
System.out.println("==============");
Integer i2 = 128;
System.out.println(i2 == 128);
}
}