integer.valueof和integer.parseint

   public static Integer valueOf(String s) throws NumberFormatException {
        return Integer.valueOf(parseInt(s, 10));
    }

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

  Integer.valueOf()方法基于减少对象创建次数和节省内存的考虑,缓存了[-128,127]之间的数字。此数字范围内传参则直接返回缓存中的对象。在此之外,直接new出来。

  在java中,Integer属于不可变对象,也就是对象一旦创建,就不可以修改,如果你的Integer代表1,那么它就永远表示1,不可以修改Integer的值,如果想变成2,那么就需要新建一个Integer

posted on 2017-12-07 17:30  一个帅哥9527  阅读(164)  评论(0编辑  收藏  举报