Integer a=10,100,1000;Integer b=10,100,1000;a==b当a和b为10,100时,为true,当a和b为1000时,为false。因为Integer存在常量池,一次性把从-128到127之间的所有数都初始化了==比较的是内存地址,当没超出赋值范围时,内存地址都为常量池中的地址,超出了int的最大缓存量后各自new了一个对象,两个地址肯定不一样了。