Integer i1 = 124;
Integer i2 = 124;
Integer i3 = 129;
Integer i4 = 129;
System.out.println(i1 == i2);
System.out.println(i3.equals(i4));
System.out.println(i3 == i4);
真正写代码的时候谁会去用==,这答案只有遇到了才知道。
不过通过这个题目也可以稍微了解下Integer类。
Integer源码里面有个IntegerCache,缓存了从-128到127,所以这个范围的地址判断都得到都是相同的。