<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    學習筆記

    Simple is beautiful.

    導航

    <2007年11月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    統計

    公告

    ...

    常用鏈接

    留言簿(1)

    隨筆分類(2)

    隨筆檔案(56)

    Weblog

    搜索

    最新評論

    評論排行榜

    [z] JDK5.0中的enum

    在像C這樣強調數據結構的語言里,枚舉是必不可少的一種數據類型。然而在java的早期版本中,是沒有一種叫做enum的獨立數據結構的。所以在以前的java版本中,我們經常使用interface來simulate一個enum。
    java 代碼
    1. public interface Color {   
    2.     static int RED   = 1;   
    3.     static int GREEN     = 2;   
    4.     static int BLUE = 3;   
    5. }  

    雖然這種simulation比較麻煩,但在以前也還應付的過去。可是隨著java語言的發展,越來越多的呼聲要求把enum這種數據結構獨立出來,加入到java中。所以從java 1.5以后,就有了enum,這也是這篇blog要學習的topic。

    學習的最好方式就是例子,先來一個:

    java 代碼
    1. public class EnumDemo {   
    2.     private enum Color {red, blue, green}           //there is not a ";"   
    3.        
    4.     public static void main(String[] args) {   
    5.         for(Color s : Color.values()) {   
    6.             //enum的values()返回一個數組,這里就是Seasons[]   
    7.              System.out.println(s);   
    8.          }   
    9.      }   
    10. }  
    console results
    1. red   
    2. blue   
    3. green  

    注意事項已經在code中注釋出,還要說明一點的是,這個java文件編譯完成后不只有一個EnumDemo.class,還會有一個EnumDemo$Color.class,奇怪吧!

    Another e.g.

    java 代碼
    1. public class EnumDemo {   
    2.     private enum Color {red, blue, green}           //there is not a ";"   
    3.        
    4.     public static void main(String[] args) {   
    5.          Color s = Color.blue;   
    6.            
    7.         switch (s) {   
    8.         case red:                     //notice: Color.red will lead to compile error   
    9.              System.out.println("red case");   
    10.             break;   
    11.         case blue:   
    12.              System.out.println("blue case");   
    13.             break;   
    14.         case green:   
    15.              System.out.println("green case");   
    16.             break;   
    17.         default:   
    18.             break;   
    19.          }   
    20.      }   
    21. }  

    這個例子要說明的就是case的情況。

    就這么多嗎,當然不是,我們的enum結構還可以定義自己的方法和屬性。

    java 代碼
    1. public class EnumDemo {   
    2.     private enum Color {   
    3.          red, blue, green;                          //there is a ";"   
    4.            
    5.         //notic: enum's method should be "static"   
    6.         public static Color getColor(String s){   
    7.             if(s.equals("red flag")){   
    8.                 return red;   
    9.              } else if(s.equals("blue flag")){   
    10.                 return blue;   
    11.              } else {   
    12.                 return green;   
    13.              }   
    14.          }   
    15.      }          //there is not ";"   
    16.        
    17.     public static void main(String[] args) {   
    18.          EnumDemo demo = new EnumDemo();   
    19.          System.out.println(demo.getFlagColor("red flag"));   
    20.      }   
    21.        
    22.     public Color getFlagColor(String string){   
    23.         return Color.getColor(string);   
    24.      }   
    25. }  

    posted on 2007-11-10 16:13 Ecko 閱讀(477) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲Av高清一区二区三区| 亚洲国产视频一区| 永久免费无码日韩视频| 国产午夜免费福利红片| 老司机福利在线免费观看| 亚洲成A人片在线观看中文| 又黄又大的激情视频在线观看免费视频社区在线 | 欧美男同gv免费网站观看 | 日产乱码一卡二卡三免费| 亚洲av无码av在线播放| 日本不卡免费新一二三区| 亚洲AV无码成人精品区狼人影院| 最近最新的免费中文字幕| 亚洲av无码偷拍在线观看| 亚洲VA综合VA国产产VA中| 一级毛片大全免费播放| 精品久久久久久亚洲| 秋霞人成在线观看免费视频 | 亚洲a∨无码一区二区| 免费午夜爽爽爽WWW视频十八禁| 一级毛片完整版免费播放一区| 国产亚洲人成网站观看| 狼群影院在线观看免费观看直播| 亚洲人配人种jizz| 免费观看国产精品| 免费看成人AA片无码视频吃奶| 亚洲精品成人久久| 性做久久久久免费观看| 国产无遮挡又黄又爽免费网站| 亚洲高清无在码在线无弹窗| 毛片免费vip会员在线看| 男女男精品网站免费观看 | 免费看www视频| 久香草视频在线观看免费| 亚洲AV成人片色在线观看高潮| 四虎永久在线观看免费网站网址| 综合偷自拍亚洲乱中文字幕| 亚洲成在人线av| 免费高清资源黄网站在线观看| 国产乱子伦精品免费视频| 亚洲国产成人精品无码区在线秒播|