初学零散小知识(看到一点写一点,不断补充)

1.

  Integer i1 = 10;
  Integer i2 = 10;
  
  Integer i3 = 128;
  Integer i4 = 128;
  
  System.out.println(i1 == i2); //true
  System.out.println(i3 == i4); //false

  作为一个菜鸡,突然看见这个(忘记在网上哪看的了...),有点惊讶。好奇心有点高,所以就跟进去看看。

  现在jdk里找怎么赋值的,发现有一个valueOf(int)方法,然后就在eclipse里打开声明(ctrl),再找到前面的方法。发现它有IntegerCache.low和IntegerCache.high这两个变量。继续跟踪,发现这两个值分别为-128和127。

  结论:cache会缓存  -128 -- 127之间的数,而不在此区间的,就会进行创建新对象

猜你喜欢

转载自www.cnblogs.com/zhmm/p/9337234.html
今日推荐