1 package org.codehaus.groovy.runtime.typehandling;
2
3 public class IntegerCache {
4 private IntegerCache(){}
5
6 static final Integer cache[] = new Integer[-(-128) + 127 + 1];
7
8 static {
9 for(int i = 0; i < cache.length; i++)
10 cache[i] = new Integer(i - 128);
11 }
12
13 public static Integer integerValue(int i) {
14 final int offset = 128;
15 if (i >= -128 && i <= 127) { // must cache
16 return cache[i + offset];
17 }
18 return new Integer(i);
19 }
20 }