Java的8种基本类型(Byte, Short, Integer, Long, Character, Boolean, Float, Double), 除Float和Double以外, 其它六种都实现了常量池, 但是它们只在大于等于-128并且小于等于127时才使用常量池
比如:
Integer a = 100;
Integer b = Integer.valueOf(100);
a equals b;
Integer c = new Integer(100);
则 c != a && c != b;
Integer类的valueOf方法:
public static Integer valueOf(int i) {
if(i >= -128 && i <= IntegerCache.high)
return IntegerCache.cache[i + 128];
else
return new Integer(i);
}