包装类(Wrapper)的使用

image.png

image.png

1、Java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征

2、掌握:基本数据类型、包装类、String三者之间的转换

基本数据类型——->包装类:调用包装类的构造器:

  1. public void test1(){ int num1=10; Integer int1=new Integer(num1); }

包装类———>基本数据类型:调用包装类Xxx的xxxValue():

  1. public void test2(){ Integer in1=new Integer(12); int i1=int1.intValue(); System.out.println("i1+1") }

基本数据类型、包装类——>String类型:方法1:连接运算:String str=num1+””;

  1. 方法2:调用String重载的valueofXxx xxx):
  1. float f1=12.3f; String str2=String.valueof(f1);

String类型—->基本数据类型、包装类:调用包装类的parseXxx(String s)方法:

  1. String str1="123";
  2. int num2=Integer.parseInt(str1);

新特性:

自动装箱:例:

  1. int num2=10;
  2. Integer in1=num2;

自动拆箱:例:

  1. System.out.println(in1.toString());
  2. int num3=in1;

包装类面试题:

  1. public void test(){
  2. Integer i=new Integer(1);
  3. Integer j=new Integer(1);
  4. System.out,println(i==j);//false
  5. Integer m=1;
  6. Integer n=1;
  7. System.out,println(m=n);//true
  8. Integer x=128;//相当于new了一个Integer对象
  9. Integer y=128;//相当于new了一个Integer对象
  10. System.out,println(x=y);//false
  11. }

注:Integer内部定义了IntegerCache结构,IntegerCache中定义了Integer[ ],保持了-128~127范围的整数。如果我们使用自动装箱的方式,给Integer赋值的范围在-128~127范围内时,可以直接使用数组中的元素,不用再去new。目的:提高效率。