包装类:基本数据类型,使用起来非常方便,但是没有对应的方法来操作这些基本类型的数据可以使用一个类,把基本类型的数据包装起来,在类中定义一些方法,这个类叫做包装类,我们可以使用类中的方法来操作这些基本类型的数据:

 

 装箱(从基本类型转换为对应的包装类对象)与拆箱(从包装类转换为对应的基本类型):

package test2;

import java.lang.annotation.Inherited;

/*装箱:把基本类型的数据,包装到包装类当中(基本类型的数据-->包装类)
* 构造方法:
* Integer(int value)
构造一个新分配的 Integer 对象,它表示指定的 int 值。
Integer(String s)
构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
* 传递的字符串必须是基本类型的字符串,否则会抛出异常
静态方法:
* static Integer valueOf(int i)
返回一个表示指定的 int 值的 Integer 实例。
static Integer valueOf(String s)
返回保存指定的 String 的值的 Integer 对象。
拆箱 :在包装类中取出基本类型的数据(包装类---》基本类型的数据)
* 成员方法:
* int intValue()
以 int 类型返回该 Integer 的值。
* */
public class test2 {
public static void main(String[] args) {
/*装箱:把基本类型的数据,包装到包装类当中(基本类型的数据-->包装类)*/
// 构造方法:
Integer in1=new Integer(1);/*方法上有横线说明方法过时了*/
System.out.println(in1);/*重写了toString方法*/

Integer in2=new Integer("1");/*方法上有横线说明方法过时了*/
System.out.println(in1);/*重写了toString方法*/
/*静态方法*/
Integer in3=Integer.valueOf(1);/*方法上有横线说明方法过时了*/
System.out.println(in3);/*重写了toString方法*/
Integer in4=Integer.valueOf("1");/*方法上有横线说明方法过时了*/
System.out.println(in4);/*重写了toString方法*/


// 拆箱:在包装类中取出基本类型的数据(包装类---》基本类型的数据 )
int i=in1.intValue();
System.out.println(i);
}
}

自动拆箱和自动装箱:基本类型的数据和包装类之间可以自动的相互转换

package test2;

import java.lang.annotation.Inherited;
import java.util.ArrayList;

public class test2 {
public static void main(String[] args) {
/*自动装箱:直接把int类型的整数赋值包装类
* Integer in=1;就相当于Integer in=new Integer(1);
* */
Integer in=1;
/*自动拆箱 in是包装类,无法直接参与晕眩可以自定转换为基本数据类型,在进行计算in+2就相当于in.intvalue()+2=3*/
in=in+2;
ArrayList<Integer>list=new ArrayList<>();
list.add(1);/*自动装箱,list.add(new integer(1))*/
int a=list.get(0); /*自动拆箱*/

}
}