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的时候会进行一种重新创建对象的行为,重新创建对象后地址与原来不一致就导致了==不相等。