Integer 不能使用 ==
public static void main(String[] args){
Integer i1 = 100;
Integer i2 = 100;
Integer i3 = 200;
Integer i4 = 200;
System.out.println(i1 == i2);
SysTem.out.println(i3 == i4);
}
结果为:
true;
false;
原因:在[-128,127]之间创建的Integer对象,他是一个Integer数组,直接返回数组中的Integer Object,所以返回true;但是超过这个区间,就会new出来对象,“=”就会比较地址信息,所以,Integer类型判等的时候,要使用equals.