比较2个整数值会给出不同的输出

Rah*_*wal 1 java

可能重复:
关于自动装箱和对象相等/身份的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");
}
Run Code Online (Sandbox Code Playgroud)

答案是

真正

真正

为什么它给2和4条件假?

Sam*_*iya 5

使用.equals() to compares Integer.==比较参考平等