前言:
在我们讨论其他变量类型之间的相互转换时,我们需要了解一下Java的包装类,所谓包装类,就是能够直接将简单类型的变量表示为一个类,在执行变量类型的相互转换时,我们会大量使用这些包装类。Java共有六个包装类,分别是Boolean、Character、Integer、Long、Float和Double,从字面上我们就能够看出他们分别对应于 boolean、char、int、long、float和double。而String和Date本身就是类。所以也就不存在什么包装类的概念了。
1.概述:
就是8种基本数据类型对应的引用类型。
2.为什么提供包装类?
①java为了实现一切皆对象,为8种基本类型提供了对应的引用类型。
②后面的集合和泛型其实也只能支持包装类型,不支持基本数据类型。
3.
自动装箱:基本类型的数据和变量可以直接赋值给包装类型的变量。
自动拆箱:包装类型的变量可以直接赋值给基本数据类型的变量。
4.包装类的特有功能
①包装类变量默认为null,容错率高;
②可以把基本数据类型的数据转换成字符串形式
调用toString()方法得到字符串结果;
调用Integer.toString(基本类型的数据);
③ 可以把字符串类型的数值转换成真实的数据
Integer.parseInt("字符串整数"); 字符串转整数; Double.parseDouble("字符串数据的小数"); 字符串转小数;
5.代码演示:
public class Demo {
public static void main(String[] args) {
int a = 10;
Integer a1 = 11;
System.out.println(a);
System.out.println(a1);
Integer a2 = a ;//自动装箱
System.out.println(a2);
Integer it = 100;
int it1 = it; //自动拆箱
System.out.println(it1);
// int age = null; //报错 基本数据类型
Integer age1 = null; //不会报错,提高代码的容错率 引用数据类型
Integer age2 =0;
System.out.println(age1);
System.out.println(age2);
System.out.println("----------------");
//1.包装类可以把基本数据类型的数据转换成字符串形式
Integer i3 = 23;
String rs = i3.toString();
System.out.println(rs+1);//字符串作连接
String rs1 = Integer.toString(i3);
System.out.println(rs1+1);
String rs3 = i3+"";
System.out.println(rs3+1);
String rs2 = i3+"4";
System.out.println(rs2+1);
System.out.println("---------------");
//2.可以把字符串类型的数值转换成真实的数据
// Integer.parseInt("字符串整数"); 字符串转整数
// Double.parseDouble("字符串数据的小数"); 字符串转小数
//转换整数
String number = "23";
int age = Integer.parseInt(number);
System.out.println(age+1);
//转换小数
String number1 = "99.21";
double count = Double.parseDouble(number1);
System.out.println(count+1);
int score = Integer.valueOf(number);//valueOf和parseDouble相同但更灵活
System.out.println(score+1);
}
}