所有的包装类对象之间值的比较,全部使用equals方法比较。

说明:

对于Integer var=?在-128至127之间的赋值,Integer对象是在IntegerCache.cache产生,

会复用已有对象,这个区间内的Integer值可以直接使用==进行判断,

但是这个区间之外的所有数据,

都会在堆上产生,并不会复用已有对象,

这是一个大坑,推荐使用equals方法进行判断。


Integer a = 235;
Integer b = 235;
if (a.equals(b)) {
// code
}

posted @ 2019-08-01 09:40  苟&白  阅读(598)  评论(0编辑  收藏  举报