关于Intege.valueOf()的使用

原文链接:https://blog.csdn.net/weixin_37650458/article/details/85212730

1.Integer. valueOf()方法的作用

     Integer. valueOf()可以将基本类型int转换为包装类型Integer,或者将String转换成Integer,String如果为Null或“”都会报错
  2.Integer. valueOf()是高效的

      public static Integer valueOf(int i) {
            if (i >= IntegerCache.low && i <= IntegerCache.high)
                return IntegerCache.cache[i + (-IntegerCache.low)];
            return new Integer(i);
        }


 

   

从他的实现方法可以看出他int在[-128,127]之间的时候他会直接拿缓存,而不会new Integer(),Integer.valueOf()方法基于减少对象创建次数和节省内存的考虑,缓存了[-128,127]之间的数字。此数字范围内传参则直接返回缓存中的对象。在此之外,直接new出来。

所以以下现象可以得到解释:

 




原文地址:https://www.cnblogs.com/cold-windy/p/11514910.html