1 19 package gcc.util; 20 21 public abstract class IntegerCache 22 { 23 private static final int MIN_VALUE = -999; 24 private static final int MAX_VALUE = 9999; 25 26 private static final Integer[] CACHE = getCache(); 27 28 public static Integer get(int i) 29 { 30 if (i >= MIN_VALUE && i <= MAX_VALUE) 31 { 32 return CACHE[i - MIN_VALUE]; 33 } 34 else 35 { 36 return new Integer(i); 37 } 38 } 39 40 private static Integer[] getCache() 41 { 42 Integer[] cache = new Integer[1 + MAX_VALUE - MIN_VALUE]; 43 for (int i = MIN_VALUE; i <= MAX_VALUE; i++) 44 { 45 cache[i - MIN_VALUE] = new Integer(i); 46 } 47 return cache; 48 } 49 } 50 | Popular Tags |