测试Java Integer包装器对象之间的相等性

时间:2013-12-14 12:54:55

标签: java

嗨我的结果会有所不同,具体取决于这两个Integer包装器对象的值。

public class Program{

    public static void main(String []args){

        Integer i3;
        Integer i4;

        for(int i=-200; i<200; i++)
        {
            i3 = i;
            i4 = i;

            System.out.print(i + " : ");

            if(i3==i4)
            {
                System.out.print("Same object. ");
            }
            if(i3.equals(i4))
            {
                System.out.println("Meaningfully equal");
            }
        }
     }
}

如果i3和i4的值介于-128和127之间,则两个条件均为真。但是在这个范围之外,i3 == i4不再是真的。我想它与位模式有关,而且你需要超过8位代表128?

1 个答案:

答案 0 :(得分:0)

可以将整数与==进行比较,范围为-128到127