09.自动装箱和拆箱

包装类的自动装箱与拆箱

在需要的情况下,基本类型与包装类型可以通用。有些时候我们必须使用引用数据类型时,可以传入基本数据类型。
比如:
基本类型可以使用运算符直接进行计算,但是引用类型不可以。而基本类型包装类作为引用类型的一种却可以计算,原因在于,Java”偷偷地”自动地进行了对象向基本数据类型的转换。
相对应的,引用数据类型变量的值必须是new出来的内存空间地址值,而我们可以将一个基本类型的值赋值给一个基本类型包装类的引用。原因同样在于Java又”偷偷地”自动地进行了基本数据类型向对象的转换。
自动拆箱:对象转成基本数值
自动装箱:基本数值转成对象

package com.itheima_06;

import java.util.ArrayList;

/*
 *  JDK1.5特性:自动装箱和拆箱
 */
public class IntegerDemo2 {
    public static void main(String[] args) {
//      Integer i = new Integer(10);
        
        //自动装箱
        //相当于:Integer i = new Integer(10);
//      Integer i = 10;
        
        //自动拆箱
        //相当于int a = i.intValue();
//      Integer i = 10;
//      int a = i;
        
        Integer i = 10;
        Integer i2 = 20;
        Integer i3 = i + i2;
        /*
         * Integer i3 = new Integer(i.intValue() + i2.intValue());
         * 
         */
        
        ArrayList list = new ArrayList();
        list.add(1);//自动装箱,相当于list.add(new Integer(1));
    }
}

你可能感兴趣的:(09.自动装箱和拆箱)