首先说明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之外比较执行效果: