以下程序的输出是什么?

时间:2019-05-27 15:17:13

标签: java autoboxing

这是面试问题之一。 运行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?

0 个答案:

没有答案