在给integer赋int类型的值时会调用valueOf()方法,方法如下:
public static Integer valueOf(int i)
{
//high为127
if(i >= 128 && i <= IntegerCache.high)
return IntegerCache.cache[i + 128];
else
return new Integer(i);
}
从这个方法中可以看到**i**的范围在-128到127之间,在这个范围可以赋值,超过范围
时会新建对象。
对象用“==”比较是比较的地址。