包装类

Why

基本数据类型没有属性和方法的调用,对象的交互,因此包装类出现,解决这些异类产生的问题。
基本数据类型无属性,方法,无法对象化交互
包装类:拥有属性,方法,可以对象化交互
包装类

What

Java是一个面向对象的编程语言,但是Java中的八种基本数据类型却是不面向对象的,为了使用方便和解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八种基本数据类型对应的类统称为包装类(Wrapper Class),包装类均位于java.lang包。
包装类
包装类
默认值
包装类
包装类的默认值为null;

类型转换

包装类和基本数据类型的转换
装箱:基本–包装
拆箱:包装–基本
都有自动和手动两种方式

手动:

    int n=5;
    Integer n1=new Integer(n);
    System.out.println("int类型转换为integer类:"+n1);
    
    Integer i=new Integer(50);
    int i1 = i.intValue();
    System.out.println("integer类转换为int类型:"+i1);

自动:
装箱就是 Java 将基本类型转换成对应的包装类型,比如将 int 转换成 Integer 对象。反之将 Integer 转换成 int 值,则称为拆箱。
装箱时,调用 valueOf 方法实现,比如 Integer.valueOf(100);
拆箱时,调用对应的 xxxValue 方法,比如 intValue() 方法。
自动装箱拆箱功能是 java1.5 后才有的。自动装箱拆箱时,由 Java 编译器自动实现转换。
赋值操作的时候,当两边类型不同,就会发生自动装箱拆箱。

自动装箱:
比如:Integer i = 100;
相当于编译器自动作以下的语法编译:

Integer i = Integer.valueOf(100);
ArrayList intList = new ArrayList();
intList.add(1); //自动装箱

自动拆箱:

Integer i = 10; //装箱
int t = i; //拆箱,实际上执行了 int t = i.intValue();
System.out.println(i++);//拆箱
包装类相加时,也会自动拆箱。

Integer a=new Integer(1);
Integer b=new Integer(2);
System.out.println(a+b);//自动拆箱
小结

小编只是在这抛砖引玉下,关于包装类优秀的文章还有很多,详情请查看:
【常用类】包装类:https://blog.****.net/qq_29119581/article/details/78327759
Java 为什么需要包装类,如何使用包装类?https://cloud.tencent.com/developer/article/1362754