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);
}

posted @ 2020-05-25 14:24  DayDay~Up  阅读(1670)  评论(0)    收藏  举报