本帖最后由 Sevenette 于 2014-5-24 00:37 编辑
Integer i = 4; 是自动装箱,因为正常写法是 Integer i = new Integer(4);
而4是基本数据类型的,原则上它不能直接复制给Integer对象。
i+5; 是自动拆箱,因为对象不能进行直接运算,因此i被转化成基本数据类型。
i = i +5; 我用 i instanceof Integer 判断了一下,结果是true,也就是i+5赋值后又被装箱成Integer了~
0.0 所以你说的是对的吧
ps:搜的时候顺便查到了:
当数值为:-127~127范围内时是取缓存内对象用,所以相等
该范围外是两个不同对象引用比较,所以不等。
所以比较Integer对象时尽量使用equals()方法。
我自己也mark一下^^ |