您的位置:首页 > 编程语言 > Java开发

java Integer == 比较的小问题

2014-02-08 17:38 169 查看
示例代码:

@Test
public void testEquals() {

Integer a = 127;
Integer b = 127;

if(a == b) {
System.out.println(true);
} else {
System.out.println(false);
}

a = 128;
b = 128;

if(a == b) {
System.out.println(true);
} else {
System.out.println(false);
}

//打印结果:
//true
//false
}


找到的相关解释如下:

因为java在执行包装类的自动装箱功能时,对于-128到127之间的整数被装箱为Interger对象后,该对象会被另外一个对该证书进行自动装箱的操作重复使用,也就是说多次对同一个-128到127范围内的整数进行Integer装箱的操作,使用的都是第一次进行装箱操作时生成的对象。而对于大于127的整数,就会new一个新对象,两个对象使用==比较由于地址不同所以返回false。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: