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。