在Java SE5中,为了减少开发人员的工作,Java提供了自动拆箱与自动装箱功能。
自动装箱: 就是将基本数据类型自动转换成对应的包装类。
自动拆箱:就是将包装类自动转换成对应的基本数据类型。
Integer i = 6; //自动装箱 Integer i = new Integer(6)
i = i + 6; // i = new Integer(i.intValue()+6) i.intValue()自动拆箱
Integer i=10
可以替代 Integer i = new Integer(10);
,这就是因为Java帮我们提供了自动装箱的功能,不需要开发者手动去new一个Integer对象。
/*
* JDK1.5后出现的特性,自动装箱和自动拆箱
* 自动装箱: 基本数据类型,直接变成对象
* 自动拆箱: 对象中的数据变回基本数据类型
* 方便使用
* 自动装箱和拆箱弊端,可能出现空指针异常
*/
public class IntegerDemo {
public static void main(String[] args) {
function_2();
function_1();
}
/*
* 关于自动装箱和拆箱一些题目
*/
public static void function_2(){
Integer i = new Integer(1);
Integer j = new Integer(1);
System.out.println(i==j);// false 对象地址
System.out.println(i.equals(j));// true 继承Object重写equals,比较的对象数据