一、包装类理解
1、包装类的目的
让Object统一管理Java中的所有数据类型(从而实现Java面向对象).
2、包装类:基本数据类型对应的类称为包装类
二、基本数据类型和包装类的对应关系
1、包装类都是位于 java.lang包中,无需导包,包装类都被final修饰,不能继承(没有子类)
2、 对应关系:
基本数据类型 包装类类名
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
三、数据类型之间的转换(以Integer为例)
1、int->Integer
int a = 18;
方式一:
Integer i1 = new Integer(a);//借助构造方法
方式二:
Integer i2 = Integer.valueOf(a);//借助静态方法
2、 Integer->int
int value=i2.intValue();// 利用成员方法
3、 String->int
String str = "23";
int value = Integer.parseInt(str);
注意:将String转换为int数值,要求String 中的每一个字符都必须是数值类型,否则运行报错,错
误信息为:java.lang.NumberFormatException(数值格式转换异常)
四、自动装箱和自动拆箱
1、JDK5.0版本提供了自动装箱和自动的拆箱,即基本数据类型和对应的包装类型之间可以相关转换
2、基本数据类型转换为对应的包装类型称为装箱
Integer i = 12; // int->Integer
包装类型转换为对应的基本数据类型称为拆箱
int value = i; // Integer->int
五、包装类的实际开发应用
1、 应用场景:类中的属性由之前的基本数据类型替换为对应的包装类型
2、 目的:利用包装类的默认值为null,区分有效的数据和无效的数据,例如:0和null/0.0和null
3、注意:建议在以后开发中类中的属性使用对应的包装类型
4、注意:基本数据类型之间有自动类型提升,包装类型没有
错误写法:Double d = 1; // 编译报错