要一直走下去

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

当数值范围是[-128,127],比如a=12,b=12,用==去比较得出的是true;

当数值范围超出[-128,127],比如a=12345,b=12345,用==得出的结果是false。

 

  因为超出范围时,Integer会去new一个对象,比较的是两个对象的地址。

  建议用equals()去进行比较

 

int a1 = 500;
int b1 = 500;
System.out.println(a1 == b1); //true
如果是基本数据类型,则 == 比较的是值;500放在栈中
Integer a = 500;
Integer b = 500;
System.out.println(a == b); //false
如果是对象类型,则 == 比较的是对象的地址;>=127放在堆中


 

posted on 2020-12-11 10:53  要一直走下去  阅读(233)  评论(0)    收藏  举报