if (val < MIN_CACHE || val > MAX_CACHE) return new Integer(val); synchronized (intCache) { if (intCache[val - MIN_CACHE] == null) intCache[val - MIN_CACHE] = new Integer(val); return intCache[val - MIN_CACHE]; }
return new Integer(parseInt(s, radix, false));
  public static Integer valueOf(int val)  {    if (val < MIN_CACHE || val > MAX_CACHE)      return new Integer(val);    synchronized (intCache)      {	if (intCache[val - MIN_CACHE] == null)	  intCache[val - MIN_CACHE] = new Integer(val);	return intCache[val - MIN_CACHE];      }  }