

装箱与拆箱
package Demo01;
/*
装箱:把基本类型的数据,包装到包装类中(基本类型的数据-》包装类)
构造方法:
Integer(int value)构造一个新分配的Integer对象,它表示指定的int值。
Integer(String s)构造一个新分配的Integer对象,它表示String参数所指示的int值
传递的字符串,必须是基本类型的字符串,否则会抛出异常"10"正确,"a"错误。
静态方法:
static Integer valueOf(int i)返回一个表示指定的int值的Integer实例
static Integer valueOf(String s)返回保存指定的String的值的Integer对象。
拆箱:在包装类中取出基本类型的数据(包装类-》基本类型的数据)
成员方法:
int intValue()以int 类型返回该Integer的值。
*/
public class Demo01Integer {
public static void main(String[] args) {
//装箱:把基本类型的数据,包装到包装类中(基本类型的数据-》包装类)
//构造方法1
Integer zhuang = new Integer(2);//方法上有红线,说明方法过时了
System.out.println(zhuang);//重写了toString方法
//构造方法2
Integer zhuang1 = new Integer("22");
System.out.println(zhuang1);
//静态方法
Integer jing1 = Integer.valueOf(2);
System.out.println(jing1);
Integer jing2 = Integer.valueOf("22");
System.out.println(jing2);
//拆箱:在包装类中取出基本类型的数据(包装类-》基本类型的数据)
int i = zhuang.intValue();
System.out.println(i);
}
}
package Demo01;
import java.util.ArrayList;
/*
自动装箱与自动拆箱:基本类型的数据和包装类之间可以自动的相互转换
JDK1.5之后出现的新特性
*/
public class Demo02Integer {
public static void main(String[] args) {
/*
自动装箱:直接把int类型的整数赋值包装类
Integer in=1;就相当于Integer in=new Integer(1);
*/
Integer in=1;
/*
自动拆箱:in是包装类,无法直接参与运算,可以自动转换为基本数据类型,在进行计算
in=2;就相当于(in.Value()+2=3)
in=in.intValue()+2=3又是一个自动装箱
*/
in=in+2;
ArrayList<Integer> list=new ArrayList<>();
/*
ArrayList集合无法直接存储整数,可以存储Integer包装类
*/
list.add(2);//-->自动装箱list.add(new Integer(1));
int a=list.get(0);//--自动拆箱 list.get(0).intvalue();
System.out.println(a);
}
}
1456

被折叠的 条评论
为什么被折叠?



