可能重复:
关于自动装箱和对象相等/身份的 Java 问题
Integer i1 = 10;
Integer i2 = 10;
Integer i3 = 210;
Integer i4 = 210;
if(i1 ==i2){
System.out.println("True");
}else{
System.out.println("False");
}
if(i3==i4){
System.out.println("True");
}else{
System.out.println("False");
}
if(Integer.valueOf(10) ==Integer.valueOf(10)){
System.out.println("True");
}else{
System.out.println("False");
}
if(Integer.valueOf(210) ==Integer.valueOf(210)){
System.out.println("True");
}else{
System.out.println("False");
}
答案是
真的
错误的
真的
错误的
为什么它对 2 和 4 条件给出错误?