blog.Ring.idv.tw

徹底剖析JDK 5.0 Autoboxing/Unboxing

徹底剖析JDK 5.0 Autoboxing/Unboxing

本文已刊於「#142  Run!PC 旗標資訊月刊」- 2005.11

簡介

經過前二期所介紹的「Varargs」和「Enhanced for loop」之後,我們可以看到從JDK 5.0所新增加的功能裡,擁有不少功能仰賴著Java Compiler在編譯時期幫我們加上「調味料」來處理,雖然更簡單易學易用,不過終究仍需了解底層的實作細節,才能徹底掌握程式本身的特性,尤其是本文所即將剖析的「Autoboxing/Unboxing」功能,常會使許多初學Java的朋友們產生「知其然而不知其所以然」的現象,正如俗話所說的「水能載舟亦能覆舟」,「Autoboxing/Unboxing」的確可以幫我們減少許多在敲打鍵盤上所需要的寶貴光陰,但若是沒能徹底掌握它,彷彿也為自己埋下了一顆不定時的炸彈,現在我們就來了解「Autoboxing/Unboxing」究竟是何方神聖。

在Java程式語言裡有分成兩種型別,一種是基本資料型別(Primitive Data Types),另一種則是物件參考型別(Object Reference Types),而本文的「Autoboxing/Unboxing」功能便是將針對基本資料型別(表1)來做轉換處理,所以當我們想將這八種基本資料型別轉換成物件來操作時,這時候我們就必須將它「裝箱」(Boxing),何謂「裝箱」呢?簡單的說法就是將Java所提供對應的Wrapper Class來加以包裝,當然既然有「裝箱」必然也會有「拆箱」(unboxing)的動作,那何謂「拆箱」呢?拆箱所指的就是呼叫其對應的Wrapper Class所各自擁有的「xxxxValue()」方法,諸如:intValue()、floatValue()、charValue()…,所以「Autoboxing/Unboxing」簡單地來說,也就是Java Compiler在編譯時期幫我們做這層的轉換處理。

下載:徹底剖析JDK 5.0 Autoboxing/Unboxing

2007-11-04 14:27:34

Leave a Comment

Copyright (C) Ching-Shen Chen. All rights reserved.

::: 搜尋 :::

::: 分類 :::

::: Ads :::

::: 最新文章 :::

::: 最新回應 :::

::: 訂閱 :::

Atom feed
Atom Comment