需要包装类的原因
Java是一个面相对象的编程语言,但基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型,它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。比如,当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装object的,这是就需要这些基本类型的包装器类了。
包装类的继承关系
用法
public class IntegerTest01 {
public static void main(String[] args) {
int i1 = 100;
System.out.println(i1);
Integer i2 = new Integer(i1);
System.out.println(i2);
double i3 = i2.doubleValue();
System.out.println(i3);
String s = "123";
int i4 = Integer.parseInt(s);
System.out.println(i4);
Integer i5 = new Integer(s);
System.out.println(i5);
Integer i6 = Integer.valueOf(s);
System.out.println(i6);
}
}
自动拆箱和自动装箱(jdk5)
自动装箱-boxing
基本类型就自动地封装到与它相同类型的包装中,如:
Integer i = 100;
本质上是,编译器编译时为我们添加了:
Integer i = Integer.valueOf(100);
自动拆箱autounboxing
包装类对象自动转换成基本类型数据。如:
int a= new Integer(100);
本质上,编译器编译时为我们添加了:
int a= new Integer(100).intValue();