Dev@Free

          zJun's Tech Weblog

          Java5 feature

          摘自: JDK1.5新特性介紹


          1.泛型(Generic)


          Collection < String > ?c? = ? new ?ArrayList();
          c.add(
          new ?Date());

          編譯器會給出一個錯誤:
          add(java.lang.String) in java.util.Collection<java.lang.String> cannot be applied to (java.util.Date)

          2.For-Each循環
          Before:
          void ?processAll(Collection?c) {
           
          for (Iterator?i = c.iterator();?i.hasNext();)
          {
             MyClass?myObject?
          =
          ?(MyClass)i.next();
             myObject.process();
           }

          }

          Now:
          void ?processAll(Collection < MyClass > ?c) {
           
          for
          ?(MyClass myObject?:c)
             myObject.process();
          }


          3.自動裝包/拆包(Autoboxing/unboxing)
          int ?a? = ? 3 ;
          Collection?c?
          = ? new
          ?ArrayList();
          c.add(a);
          // 自動轉換成Integer.

            
          Integer?b?
          = ? new ?Integer( 2
          );
          c.add(b?
          + ? 2 ); //
          這里Integer先自動轉換為int進行加法?運算,然后int再次轉換為Integer.

          4.枚舉(Enums)
          // 定義一個枚舉類型。  ?
          public ? enum ?Color {
           Red,
           White,
           Blue
          }

          // 然后可以這樣來使用
          Color?myColor? = ?Color.Red.
          // 枚舉類型還提供了兩個有用的靜態方法values()和valueOf().?我們可以很方便地使用它們,例如

          for ?(Color?c?:?Color.values())
            System.out.println(c);

          5.可變參數(Varargs)
          Before:
          util.write(obj1);
          util.write(obj1,obj2);
          util.write(obj1,obj2,obj3);
          Now:
          public ? void ?write(Object?objs)? {
           
          for
          ?(Object?obj:?objs)
            System.out.println(obj);
          }


          6.靜態導入(Static Imports)
          import ? static ?java.lang.Math. * ;

          r?
          = ?sin(PI? * ? 2 );? //
          無需再寫r?=?Math.sin(Math.PI);

          注意:
          過度使用這個特性也會一定程度上降低代碼地可讀性。

          posted on 2007-08-17 23:27 zJun's帛羅閣 閱讀(885) 評論(0)  編輯  收藏 所屬分類: Java基礎

          導航

          <2007年8月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          統計

          常用鏈接

          留言簿(15)

          隨筆分類

          隨筆檔案

          相冊

          收藏夾

          博客

          文檔

          站點

          論壇

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 河西区| 涿鹿县| 松原市| 石泉县| 达州市| 宁波市| 武邑县| 宁明县| 崇文区| 双鸭山市| 叙永县| 久治县| 印江| 瑞安市| 金溪县| 黄梅县| 会东县| 青神县| 龙州县| 自贡市| 宜昌市| 商都县| 四平市| 拜城县| 康乐县| 岳阳县| 辽宁省| 梅州市| 集贤县| 论坛| 郁南县| 昔阳县| 大埔区| 日土县| 临澧县| 和田市| 都江堰市| 新竹市| 自治县| 长阳| 平遥县|