< prev index next >

src/java.base/share/classes/java/lang/Integer.java

Print this page
rev 13019 : 8141678: sun.invoke.util.Wrapper eagerly initializes all integral type caches
Reviewed-by: TBD

*** 72,81 **** --- 72,86 ---- */ @SuppressWarnings("unchecked") public static final Class<Integer> TYPE = (Class<Integer>) Class.getPrimitiveClass("int"); /** + * Zero {@code Integer} constant. + */ + private static final Integer ZERO = new Integer(0); + + /** * All possible chars for representing a number as a String */ static final char[] digits = { '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , 'a' , 'b' ,
*** 947,958 **** } high = h; cache = new Integer[(high - low) + 1]; int j = low; ! for(int k = 0; k < cache.length; k++) ! cache[k] = new Integer(j++); // range [-128, 127] must be interned (JLS7 5.1.7) assert IntegerCache.high >= 127; } --- 952,965 ---- } high = h; cache = new Integer[(high - low) + 1]; int j = low; ! for(int k = 0; k < cache.length; k++) { ! int val = j++; ! cache[k] = (val == 0) ? ZERO : new Integer(val); ! } // range [-128, 127] must be interned (JLS7 5.1.7) assert IntegerCache.high >= 127; }
< prev index next >