文/陳剛 2005-11-09
一、前言
JDK5.0出來有快一年了吧,泛泛的浏覽過一些資料,不知道是文章寫得生澀,還是我愚笨,總之是沒太明白。反正所做的項目也沒有用到,是以放在了一邊。近來公司平台更新到JBOSS4和JDK5,看來要仔佃看它一看看。上網搜尋了一些資料,花了兩小時閱讀,算明白了一些,好象也不是很難。現将心得和了解結內建文,以便後來者。
JDK5.0主要有哪些新特性呢?如下清單
泛型
增強的for循環
自動裝箱和自動拆箱
類型安全的枚舉
可變長度參數
靜态引入
中繼資料(注解)
C風格的格式化輸出
本文先講“類型安全的枚舉”。
二、舊的曆史
舉個例:有一個如下的“花(flower)”類,它有一個顔色(color)屬性,用int型來表示其顔色。
這時一般我們會建立一個常量類,來存放顔色常量,如下:
以後我們用的時候就可以這樣:
Color類就是一個我們自己來實作的枚舉類,當然它并不是嚴格意義上的枚舉類,而且JDK5.0之前還沒有枚舉。這時會出現一個問題:setColor參數是int型,那麼也許使用者會不小心用一個非法的int值賦進去,這樣就可能産生BUG,如:f.setColor(100);顯示100并非是我們設定中的顔色值。
在那本有名的java著作<<Effective java>> Joshua Bloch,用了專門的一章(第5章)來讨論這