两个Integer的是使用==比较还是.equals()比较

首先说明Integer是可以使用==进行比较的也可以用.equals()比较,注意两个Integer的值在-128~127之内时可以用==比较。两个Integer的值不在-128~127之内时,必须用b.equals(a)进行比较。

public static void main(String[] args) {
        Integer a = 127;
        Integer b = 127;
        // -128-127
        System.out.println("a:"+a+" "+"b:"+b);
        if(a==b){
            System.out.println("Integer可以用==比较");
            System.out.println("不过有前提条件的!!!");
            System.out.println("两个Integer的值在-128~127之内时可以用==比较");
        }else if(b.equals(a)){
            System.out.println("两个Integer的值不在-128~127之内时,必须用b.equals(a)进行比较");
        }
}

-128~127之内比较执行效果:

public static void main(String[] args) {
        Integer a = 128;
        Integer b = 128;
        // -128-127
        System.out.println("a:"+a+" "+"b:"+b);
        if(a==b){
            System.out.println("Integer可以用==比较");
            System.out.println("不过有前提条件的!!!");
            System.out.println("两个Integer的值在-128~127之内时可以用==比较");
        }else if(b.equals(a)){
            System.out.println("两个Integer的值不在-128~127之内时,必须用b.equals(a)进行比较");
        }
}

-128~127之外比较执行效果: 


版权声明:本文为a11274原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。