Java为避免常用的对象频繁被实例化,引入了缓存机制,缓存是有限的,当溢出时,按先进先出的原则覆盖原来的数据,通过valueOf方法实现,值得注意的是,Integer类型的缓存数据大小范围是-128~127,下面看代码:
Integer int1=new Integer(6);
Integer int2=Integer.valueOf(6);
Integer int3=Integer.valueOf(6);
System.out.println((int1==int2)+","+(int2==int3));//false,true
Integer int4=Integer.valueOf(200);
Integer int5=Integer.valueOf(200);
System.out.println(int4==int5);//false