这是面试问题之一。 运行MainClass之后,输出为 真正 假 错误
public class MainClass
{
public static void main(String[] args)
{
Integer i1 = 127;
Integer i2 = 127;
System.out.println(i1 == i2);//true
Integer i3 = 128;
Integer i4 = 128;
System.out.println(i3 == i4);// false
Integer i5 = 1271;
Integer i6 = 1271;
System.out.println(i5 == i6); //false
}
}
我相信这里会发生某种自动装箱,同时将一个Integer与其他Integer进行比较,例如(i3 == i4)。但是为什么当整数值小于等于127时返回true,而整数值大于128则返回false?