包装类
用于:在需要用对象来保持的情况下,对基本数据类型进行封装。
重点关注:int→Integer
继承关系
该继承关系和方法说明:
- 在包装类里面数据类的数值可以相互转换。
- 实际的转换方式在number中是抽象的,实际上是在子类中填充的。
- 每个包装类都是final的无子类类型。
常用的功能。
-
基本类转换为包装类。
Integer int1 = Integer.valueof(20); //这种方法的好处在于,不用新建一个实体类也能对数据进行处理
-
包装类转为基本类型
Integer int2 = int1.intValue();
-
字符串转换为Integer
Integer int = Integer.parseInt("334");
-
将包装类转为字符串
i3.toString();
-
常用常量
Integer.MAX_VALUE; Integer.MIN_VALUE;
作用:相互转化包装类、基本类型、字符串(数字类)
自动装箱和拆箱
Integer i =- 5
按照类型是不合法的,编译器通过自动装箱这个功能实现了自动内置Integer.valueOf()
的操作。
注意,由于null和0并不对应,所以Integer.valueof()
会出现空指针异常!
包赚类的缓存问题
由于java将-127~128的全部数据用数组的模式缓存,所以当自动装箱该范围内的数组时,实际是将指针指向该数组中的某一个值,因此在判断是否相等是会获得两个相等的地址。
自己实现包装类
-
实现包装类
通过static的类会在初始化的时候最先被执行来实现功能。
使用本类的数组来在初始化的时候将自身需要数量的本体的数组进行全部轮询初始化。
在需要调用的时候将对应数组调出。