一、手动拆箱和装箱:
手动装箱:
概念:
把基本类型的数据,包装到包装类中(基本类型的数据->包装类)
方法一:使用构造方法:
Integer(int value)
构造一个新分配的 Integer对象,该对象表示指定的 int值。
Integer(String s)
构造一个新分配 Integer对象,表示 int由指示值 String参数。
代码示例:
Integer in=new Integer(1);
System.out.println(in);// 1
Integer in2=new Integer("1");//不能写A因为不能转换为数值型.
System.out.println(in2);//1
方法二:使用静态方法
static Integer valueOf(int i)
返回一个 Integer指定的 int值的 Integer实例。
static Integer valueOf(String s)
返回一个 Integer对象,保存指定的值为 String
代码示例:
Integer in3=Integer.valueOf(3);
System.out.println(in3); //3
Integer in4=Integer.valueOf("3");
System.out.println(in4); //3
手动拆箱:
概念:
在包装类中取出基本类型的数据(包装类->基本类型的数据)
方法:
int intvalue()以int类型返回Integer的值。
代码示例:
int i=in.intValue();
System.out.println(i); //1
二、自动拆箱和装箱:
在Java SE5中,为了减少开发人员的工作,Java提供了自动拆箱与自动装箱功能。
自动装箱:
将基本数据类型自动转换成对应的包装类。
代码示例:
Integer in=5;
自动装箱,将5使用Integer.valueof(5)方法自动装箱;
in=in+3
;
先是自动拆箱,应为in是个包装类没法直接参与运算,所以调用in.intvalue()方法拆成int型数据进行数据的计算,
再调用方法Integer.value(8)方法转换为integer类装箱。
System.out.println(in); //打印为8
自动拆箱:
将包装类自动转换成对应的基本数据类型。
//自动拆箱和上面所用方法相同;
拓展:
Integer 在-128 至 127 值,可以直接使用==进行判断;
Integer 在-128 至 127 值之外的范围,要用equals 方法进行判断;
无论如何,Integer与new Integer()不会相等。要使用equals 方法进行判断;
无论如何,Integer与int比较,只要值相等,都会返回true。