Java包装类和对应基本数据类型的自动拆箱和自动装箱

  我们都知道Java的JDK更新到5.0后,针对包装类和基本数据类型的处理有了新的方式,也就是自动化

//自动装箱:基本数据类型————包装类
int num2 = 10;
Integer in1 = num2;//自动装箱
//以前 Integer in1 = Integer.valueOf(num2);
boolean b1 = true;
Boolean b2 = b1;//自动装箱
//以前Boolean b2 = Boolean.valueOf(b1);

int num3 = in1;//自动拆箱
//以前int num3 = in1.intValue();

//而在String与其他类型之间转换也方便了
//String类型--->基本数据类型、包装类:调用包装类的parseXxx(String s)
String str = "123";
int num4 = Integer.parseInt(str);

//基本数据类型、包装类-->String类型:调用String的valueOf(Xxx xxx)
String st=String.valueOf(num2);
//注意点
Integer i =new Integer(1);Integer j = new Integer(1);
System.out.println(i == j); //false
Integer m = 1;
Integer n = 1;
System.out.println(m == n); //true
//这里的原理
//Integer内部定义了IntegerCache结构,IntegerCache中定义了Integer[],
//保存了从-128~127范围的整数。如果我们使用自动装箱的方式,给Integer赋值的范围在//-128~127范围内时,可以直接使用数组中的元素,不用再去new了。
Integer x = 128;
Integer y = 128;
System.out.println(x == y); //false






你可能感兴趣的:(小知识,java,面试题,java)