int类型与integer类型

int类型是基本数据类型,integer是引用数据类型;

 

int a=200;

integer c=200;

int b=20;

integer d=20;

a不等于c,b等于d为什么???

解析:integer类型转int类型的时候会自动进行拆箱操作(调用Integer的intValue()方法)进行比较,即使用a,b对象的数值和基本类型c,d进行数值大小的比较。,然后这边有一个特殊的情况,当integer大于127或小于-128的时候会进行一种重新创建对象的行为,重新创建对象后地址与原来不一致就导致了==不相等。

posted @ 2019-06-03 23:51  木兰姐请正面上我  阅读(404)  评论(0编辑  收藏  举报