1. 程式人生 > >java拆箱和裝箱

java拆箱和裝箱

手工 enc bsp 簡潔 實現 lan 開始 spa 徹底

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.值傳遞
- 原始類型值傳遞,是將值本身傳遞過去且原始類型保存在棧中。
- 引用類型傳遞的時候是將引用傳遞過去,程序根據這個引用去堆中獲取相應的值。引用類型的值保存在堆中,引用變量保存在棧中。




java拆箱和裝箱