Integer比较时用==还是equals

1.当比较的对象不一定为null时 优先考虑equals。(当Integer值的范围超出-128-127时,==比较地址)

2.如果为与null比较 使用==

1.第一种情况就是一个参数与比较的对象确定不一定null,选择使用equals

Integer a=326;
    Integer b=326;
    System.out.println("== :"+(a==b));
    System.out.println("equals :"+a.equals(b));

结果

== :false
equals :true

如果a,b都可能为null先把null的情况排除,再equals比较

2.与null比较时

Integer a = 2;
    System.out.println("输出结果"+a.equals(null));
    System.out.println("输出结果"+(null==a));

结果

输出结果false
输出结果false

因为null与a比较,用equals的话还得判断空指针的情况,null也无法调用equals,这时候==完全可以代替equals。


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