public class TestAutoBox {
public static void main(String[] args) {
Integer a=234; //自动装箱。Integer a=Integer.valueOf(234);
int b=a; //自动拆箱。编译器会修改成:int b=a.intValue();
Integer c=null;
if(c!=null) {
int d = c; //自动拆箱。调用了c.intValue
}
//缓存[-128,127].实际就是系统初始的时候,创建了[-128,127]之间的一个缓存数组
//当我们调用valueOf()时候,首先检查是否在[-128,127]之间,如果在这个范围则直接从缓存数组中拿出已经建好的对象
//如果不在这个范围,则创建新的Integer对象
Integer in1=-128;
Integer in2=-128;
System.out.println(in1==in2); //true是因为123在缓存范围内
System.out.println(in1.equals(in2)); //true
System.out.println("###############");
Integer in3=1234;
Integer in4=1234;
System.out.println(in3==in4); //false因为1234不在缓存范围内
System.out.println(in3.equals(in4));
}
}
【自动装箱、自动拆箱 装装装 拆拆拆】
猜你喜欢
转载自blog.csdn.net/RSssr/article/details/109432414
今日推荐
周排行