Integer类型比较大小
比较数值过程中:
1、数值类型,值在-128 ~ 127的之间的数值对象,在Integer或者Long....的内部类中IntegerCache中。没有实质性创建对象或者说对象都内部类的cache[]数组中,使用==没有问题返回true,因为是同一对象。
2、数值在-128 ~ 127范围之外的数值类型,都重新创建了对象。再使用“==”,就返回false了。
3、new Integer(0);如果这样写,同样创建了对象,及时值在-128 ~ 127的之间。使用“==”同样返回false;
版权声明:本文为CSDN博主「邢朝阳」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wy_xing/article/details/90643515
Integer a = 100;
Integer b = 100;
if (a == b) { // true
System.out.println(true);
} else {
System.out.println(false);
}
a = 100000;
b = 100000;
if (a == b) { // false
System.out.println(true);
} else {
System.out.println(false);
}
//使用equals
if (a.equals(b)) { // true
System.out.println(true);
} else {
System.out.println(false);
}

浙公网安备 33010602011771号