本帖最后由 伍叶竹 于 2014-4-26 13:19 编辑
Integer m = 128;
Integer n = 128;
sop("m==n : "+(m==n)); // false 因为是两个不同的对象
当数值在byte范围内(-128~127)时,对于新特性,如果该数值已经存在,则不会再开辟新的空间, 因此,a和b指向同一个Integer对象 但是,如果是通过 new 出来的对象,还是两个独立的对象 Integer i1 = new Integer(127);
Integer i2 = new Integer(127);
sop("a==b : "+(a==b)); // false sop("x.equals(y) : "+x.equals(y)); // true Integer中 equals方法: 比较此对象与指定对象。当且仅当参数不为 null, 并且是一个与该对象包含相同 int 值的 Integer 对象时,结果为 true。 |