package ch14reflect;
import java.lang.reflect.Field;
/**
* 如何实现 2 + 2 = 5
* -128至127会缓存到Integer的cache中去
* cache[0] = -128,以此类推
*
* @author XiongNeng
* @version 1.0
* @since 2014/6/3
*/
public class IntegerCache {
public static void main(String[] args) throws Exception {
Class cache = Integer.class.getDeclaredClasses()[0];
System.out.println(cache.getName());
Field c = cache.getDeclaredField("cache");
c.setAccessible(true);
Integer[] array = (Integer[]) c.get(cache);
array[132] = array[133]; // array[132] = 4
System.out.printf(" 2 + 2 = %d", 2 + 2);
}
}