简介
装箱:把基本类型的数据,包装到包装类中(基本类型的数据->包装类)
拆箱:在包装类中取出基本类型的数据(包装类->基本类型的数据)
自动装箱与自动拆箱:基本类型的数据和包装类之间可以相互转换
Integer in5=1;//自动装箱
in5=in5+2;//自动拆箱后自动装箱
构造方法
- Integer(int value)构造一个新分配的Integer对象,它表示指定的int值
- Integer(String s)构造一个新分配的Integer对象,它表示String参数所指示的int值,传递的字符串必须是基本类型的字符串,否则会抛出异常
静态方法
- static Integer valueOf(int value)返回一个表示指定的int值的Integer实例
- static Integer valueOf(String s)返回保存指定的String的值的Integer对象
基本类型与字符串类型之间的相互转换
基本类型->字符串类型
1.常用方法:基本类型的值+“ ”
2.包装类的静态方法toString(参数)
static String toString(int i) 返回一个表示指定整数的String对象
String s2=Integer.toString(i2);
3. String类的静态方法valueof
static String valueOf(int i)返回int参数的字符串表示形式
String s3=String.valueOf(i);
字符串类型->基本类型
Integer类:static int parseInt(String s)
Double类:static double parseDouble(String s)
int i=Integer.parseInt(s);
Integer直接赋值和valueOf方法
Integer i02 = 59;
Integer i03 = Integer.valueOf(59);
Integer i04 = new Integer(59);
System.out.println(i02 == i03); //true
System.out.println(i02 == i04); //false
System.out.println(i03 == i04); //false
Integer i02 = 200;
Integer i03 = Integer.valueOf(200);
Integer i04 = new Integer(200);
System.out.println(i02 == i03); //false
System.out.println(i02 == i04); //false
System.out.println(i03 == i04); //false
当使用直接赋值如”Integer i01 = 59“的时候,会调用Integer的valueOf()方法,这个方法就是返回一个Integer对象,但是在返回前,作了一个判断,判断要赋给对象的值i是否在[-128,127]区间中,且IntegerCache(是Integer类的内部类,里面有一个Integer对象数组,用于存放已经存在的且范围在[-128,127]中的对象)中是否存在此对象,如果存在,则直接返回引用,否则,创建一个新对象返回。”Integer i02 = 59":因为程序初次运行,没有59,所以直接创建一个对象返回;“Integer i03 = Integer.valueOf(59)”:因为IntegerCache中已经存在59,所以直接返回引用;“Integer i04 = new Integer(59)”:直接创建一个新对象。