Integer的常量池
我们都知道Byte,Short,Integer,Long
都创建了[-128,127]的对应类型的常量池,那对于这个范围外的数字呢?
当创建不属于[-128,127]范围内的对象后,新的数并不会加入到常量池中,常量池一直就那么大,并不会扩大了;
Integer i1 = 256;
Integer i2 = 256;
System.out.println(i1 == i2);
// false
这和String的常量池不同,String的常量池是会动态扩展的,新建的String如果不在常量池中,会加入到里面。
网友评论