前言:

       在我们讨论其他变量类型之间的相互转换时,我们需要了解一下Java的包装类,所谓包装类,就是能够直接将简单类型的变量表示为一个类,在执行变量类型的相互转换时,我们会大量使用这些包装类。Java共有六个包装类,分别是Boolean、Character、Integer、Long、Float和Double,从字面上我们就能够看出他们分别对应于 boolean、char、int、long、float和double。而String和Date本身就是类。所以也就不存在什么包装类的概念了。

1.概述:

        就是8种基本数据类型对应的引用类型。

java包装类干吗用的 java包装类型有哪些_System

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);
    }
}