package com.aflfte.test;
/**
* 自动拆箱与装箱
*
* @author jinhao
*
*/
public class TestAutoBos {
public static void main(String[] args) {
//JDK编译器会动进行自动装箱与自动拆箱的动作以方便程序员的编写
Integer a=123;//自动装箱写法与Integer a=Integer.valueOf(123);写法的结果相同
int b=a;//自动拆箱写法与b=a.intValue();写法结果相同
Integer c=null;
/*if(c!=null) {//只有包装为不是空的时候才能进行自动拆箱
int d=c;//当包装对象为空的时候不可以使用自动拆箱实现
}*/
//系统在初始的时候会创建一个从-128到127之间的缓存数组 以方便直接调用
//当我用使用valueOf()的时候,首先系统会检查数字是不是在-128到127之间,如果在直拿出已创建好的对象,
//当数值不在-128到127之间就会新创建新的对象
//缓存【-128到127】之间的数字.当数字在这个范围之内进行比较时相当于两个为同一个对象
Integer in1=Integer.valueOf(-128);
Integer in2=-128;
System.out.println(in1==in2);//所以这里相当于同一个对象进行比较结果会是true
System.out.println(in1.equals(in2));
Integer in3=1234;//当数字不在-128到127之间这里会新建对像
Integer in4=1234;
System.out.println(in3==in4);//这里相当于两个不同对象进行比较结果是false
System.out.println(in3.equals(in4));
}
}
« String与StringBuilder的使用
|
包装类的使用方法»
|