一、什么是包装类:
1.针对八种基本数据类型定义相应的引用类型-包装类(封装类)
2.有了类的特点,就可以调用类的方法,java才是真正的面向对象(为了使基本数据类型的变量具有类的特征,引用包装类)
二、包装类的使用:
1.java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征
2.重点:基本数据类型、包装类、String三者之间的转换
①基本数据类型--->包装类:调用包装类的构造器
int num = 10;
Integer in1 = new Integer(num1);
System.out.print(in1.toString());//如果要调用方法,必须要是该数据类型的纯数字,否则会报错
注:特殊情况:Boolean b1 = new Boolean("true123");
System.out.print(b1);//此时输出的是false,布尔型只判断在忽略大小写的情况下是否为true
如果是,则输出true。否则均为false;
-----》另外:当布尔型转化为包装类后,默认值为null;
②包装类-->基本数据类型:调用包装类的xxxValue()《转换为基本数据类型是为了可以进行数据运算》
注:基本数据类型和包装类之间可以通过自动装箱和自动拆箱(jdk 5.0版本新特性)
③基本数据类型、包装类--->String:调用String重载的valueOf(xxx xxx)
方式一:连接运算
String str1 = num + "";
方式二:调用方法
float f1 = 12.3f;
String str2 = String.valueOf(f1);//“12.3”
Double d1 = new Double(12.4);
String str3 = String.valueOf(d1);//"12.4"
④String类型转换为基本数据类型、包装类:调用包装类的parseXxx()
String str1 = "123";
int num1 = Integer.parseInt(str1);
System.out.print(num2 + 1);
三、应用场景举例:
1.Vector类中关于添加元素,只定义了形参为Object类型的方法
如:v.addElement(Object obj);
此时的方法的形参中只能放入Object类或其子类的对象,如果没有包装类,没有办法添加基本数据类型的数据,因此引出了包装类:
基本数据类型-->包装类-->体现多态
题外话:后续会放上自动装箱和拆箱操作笔记