Integer Cache

系统在加载Ineger类时,会自动把-128-127范围内的Integer数据缓存起来,从而导致如下结果:

Integer a=2;

Integer b=2;//使用Integer.valueof(2)封包。(-128-127)

a==b //true  指向同一个引用

Integer biga=128;

Integer bigb=128;

biga==bigb  //false  指向不同引用


 Integer a = new Integer(47);
 Integer b=new Integer(47);
 System.out.println(a==b); //false,因为内存地址不同



你可能感兴趣的:(java)