java拆箱和装箱

 1.自动装箱和自动拆箱

   - 指的是原始类型和封装类型相互转换。

 2. 为什么要拥有装箱和拆箱机制?

    - 使java代码更加彻底地面向对象

    - 从jdk1.5以后开始支持,使代码更加简洁,优雅,易懂。

  4. 装箱和拆箱解决了什么问题?

    - 因为java的集合只能存入对象,不支持原始类型,在jdk1.5时需要手工去转换原始类型和封装类型,jdk1.5以后引入装箱和拆箱就可以自动转换了,使代码的便于更加简洁、方便、易懂。

   5.装箱和拆箱的实现过程:

/**
 * 装箱,拆箱
 * 
 * @author szy
 *
 */
public class EncapsulationType {
    public static void main(String[] args) {
        Integer i = 10; // 装箱
        int n = i; // 拆箱
    }
}

使用javap -c 的命令反编译后我们发现:装箱时用了 Integer.valueOf(), 拆箱用了Integer.intValue()

6.值传递
- 原始类型值传递,是将值本身传递过去且原始类型保存在栈中。
- 引用类型传递的时候是将引用传递过去,程序根据这个引用去堆中获取相应的值。引用类型的值保存在堆中,引用变量保存在栈中。




posted @ 2017-10-13 16:24  草农  阅读(785)  评论(0编辑  收藏  举报