Integer a=100;
Integer b=100;
if(a==b)
return true;
else
Integer b=100;
if(a==b)
return true;
else
return false;
这段代码很多人会认为是返回是false,因为
==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。
equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。
但是实际上是返回true。==在比较的时候将其自动解包了