View Javadoc

1   package serp.util;
2   
3   /**
4    * Number utilities.
5    *
6    * @author Abe White
7    */
8   public class Numbers {
9       private static final Integer INT_NEGONE = new Integer(-1);
10      private static final Long LONG_NEGONE = new Long(-1);
11      private static final Integer[] INTEGERS = new Integer[50];
12      private static final Long[] LONGS = new Long[50];
13  
14      static {
15          for (int i = 0; i < INTEGERS.length; i++)
16              INTEGERS[i] = new Integer(i);
17          for (int i = 0; i < LONGS.length; i++)
18              LONGS[i] = new Long(i);
19      }
20  
21      /**
22       * Return the wrapper for the given number, taking advantage of cached
23       * common values.
24       */
25      public static Integer valueOf(int n) {
26          if (n == -1)
27              return INT_NEGONE;
28          if (n >= 0 && n < INTEGERS.length)
29              return INTEGERS[n];
30          return new Integer(n);
31      }
32  
33      /**
34       * Return the wrapper for the given number, taking advantage of cached
35       * common values.
36       */
37      public static Long valueOf(long n) {
38          if (n == -1)
39              return LONG_NEGONE;
40          if (n >= 0 && n < LONGS.length)
41              return LONGS[(int) n];
42          return new Long(n);
43      }
44  }