包装类在java中是非常重要的它提供与了很多重要的方法可以方便对基本数据类型进行调用和方法的重写的可能,使得基本数据类型具有了类的特点,可以当对象来使用。
包装类出现的意义:
1:基本数据类型当对象使用。
2:每一个包装类中都封装了一些很有用的方法,操作对应的基本数据类型。字符串对象和基本数据类型之间的相互的转换。
以 Integer 举例
包装类的自动装箱
基本类型就自动地封装到与它相同的类型的包装类中
Integer i=100;
编译器调用了 valueOf()
方法 Integer i=Integer.valueOf(100);
Integer 中的缓存类 IntegerCache Cache 为[-128,127],
IntegerCache 有一个静态的 Integer 数 组,在类加载时就将-128 到 127 的 Integer 对象创建了,并 保存在 cache 数组中,一旦程序调用 valueOf 方法,如果取 的值是在-128 到 127 之间就直接在 cache 缓存数组中去取 Integer 对象,超出范围就 new 一个对象。
自动拆箱 unboxing
包装类对象自动转换成基本类型数据 int a=new Integer(100);
编译器为我们添加了 int a=new Integer(100).intValue();