jdk5以前装箱和拆箱都是手动完成的,在jdk5及其以后装箱和拆箱可以自动实现
public class interger {
public static void main(String[] args) {
//jdk5之前是手动装箱
//两种方式
Integer integer = new Integer(2);
Integer integer1 = Integer.valueOf(3);
//手动拆箱
int n = integer.intValue();
//jdk5之后可以自动装箱和拆箱
int m = 8;
Integer integer2 = m;
int e = integer2;
//本质上还是通过底层的valueof方法实现的
public static Integer valueOf(int i) {
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}
}
}
包装类型和String类型的相互转化
此处以Intenger为例。
包装类转String
int n = 10;
String i = 1 + " "; //方式1
String i1 = n.toString();//方式2
String i2 = String.valueOf(n);//方式3
String转包装类
String i3 = "123";
Integer i4 = Integer.parseInt(i3);//方式1
Integer i5 = new Integer(i4);//方式2