Integer 是 包装类
int 是基本数据类型
Integer 和 int 比较 会自动拆箱
不是new 得到的 Integer 的比较,如果在 -127 到 127 之间相等,否则不相等
使用 new 得到的 Integer 与 Integer(不论是否new) 比较都不相等
测试:
int i1 = 4;
int i2 = 200;
Integer i3 = 4;
Integer i4 = 200;
Integer i7 = 4;
Integer i8 = 200;
Integer i5 = new Integer(4);
Integer i6 = new Integer(200);
System.out.println("int - integer: " + (i1 == i3) + ", " + (i1 == i5));
System.out.println("int - integer: " + (i2 == i4) + ", " + (i2 == i6));
System.out.println("integer - integer: " + (i3 == i7)+ ", " + (i4 == i8) );
System.out.println("integer - Integer :" + (i3 == i4));
结果:
int - integer: true, true
int - integer: true, true
integer - integer: true, false
integer - Integer :false