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

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

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

    posts - 495,comments - 227,trackbacks - 0
    http://www.cnblogs.com/cuizhf/archive/2011/08/22/2150046.html

    enum<->int

    enum -> int: int i enumType.value.ordinal();
    int -> enum: enumType b= enumType.values()[i];

     

    enum<->String

    enum -> String: enumType.name()

    String -> enum: enumType.valueOf(name);

     --------------------------------------------------------------------------

    http://stackoverflow.com/questions/604424/java-enum-converting-string-to-enum

    有時(shí)間整理測(cè)試一下這個(gè)帖子中的內(nèi)容,同事參考《Effective Java中文版第2版》第30條內(nèi)容,更新本帖。

    ---------------------------------------------------------------------------

    下面是Enum和字符串類型轉(zhuǎn)化的例子。

    第一個(gè)例子:字符串和枚舉值不相同,注意覆蓋toString方法。
    復(fù)制代碼
    import java.util.HashMap;
    import java.util.Map;

    /**
     *
     * @author admin
     
    */
    public enum Blah {
        A(
    "text1"),
        B(
    "text2"),
        C(
    "text3"),
        D(
    "text4");
        
        
    private String text;
        
        Blah(String text) {
            
    this.text = text;
        }
        
        
    public String getText() {
            
    return this.text;
        }
        
        
    // Implementing a fromString method on an enum type
        private static final Map<String, Blah> stringToEnum = new HashMap<String, Blah>();
        
    static {
            
    // Initialize map from constant name to enum constant
            for(Blah blah : values()) {
                stringToEnum.put(blah.toString(), blah);
            }
        }
        
        
    // Returns Blah for string, or null if string is invalid
        public static Blah fromString(String symbol) {
            
    return stringToEnum.get(symbol);
        }

        @Override
        
    public String toString() {
            
    return text;
        }
    }
    復(fù)制代碼
     第2個(gè)例子,字符串和枚舉值相同,這個(gè)更為簡(jiǎn)單。

     

    復(fù)制代碼
    import java.util.HashMap;
    import java.util.Map;

    /**
     *
     * @author admin
     
    */
    public enum Blah {
        A,
        B,
        C,
        D;

        
    // Implementing a fromString method on an enum type
        private static final Map<String, Blah> stringToEnum = new HashMap<String, Blah>();
        
    static {
            
    // Initialize map from constant name to enum constant
            for(Blah blah : values()) {
                stringToEnum.put(blah.toString(), blah);
            }
        }
        
        
    // Returns Blah for string, or null if string is invalid
        public static Blah fromString(String symbol) {
            
    return stringToEnum.get(symbol);
        }
    }
    復(fù)制代碼

     

     至于整形和Enum之間的轉(zhuǎn)換,也可類似處理。

     

    posted on 2012-11-07 14:54 SIMONE 閱讀(5955) 評(píng)論(0)  編輯  收藏 所屬分類: JAVA
    主站蜘蛛池模板: 亚洲av永久无码精品网址| 亚洲国产成人精品无码久久久久久综合 | 久久国产亚洲观看| 好看的亚洲黄色经典| 国产亚洲精品美女久久久| 亚洲日产韩国一二三四区| 亚洲欧洲日产国码无码网站| 国产gv天堂亚洲国产gv刚刚碰| 久久久久亚洲AV综合波多野结衣| 亚洲人妻av伦理| 亚洲精品国产字幕久久不卡| 亚洲日韩精品一区二区三区| 亚洲色大成网站WWW久久九九 | 日韩成全视频观看免费观看高清| 成人免费午夜在线观看| 女性自慰aⅴ片高清免费| 免费看少妇作爱视频| 国产一级淫片免费播放| 亚洲精品动漫人成3d在线| 最新精品亚洲成a人在线观看| 亚洲乱码日产一区三区| 亚洲男人第一av网站| 久久精品国产亚洲av麻豆蜜芽| 国产精品亚洲自在线播放页码| 亚洲av日韩av永久在线观看| 黄色免费网站在线看| 特级做A爰片毛片免费看无码| 免费在线中文日本| 18禁美女黄网站色大片免费观看| 999久久久免费精品国产| 午夜一级免费视频| 亚洲毛片网址在线观看中文字幕| 精品国产亚洲一区二区三区| 亚洲国产成人精品久久| 精品亚洲av无码一区二区柚蜜| 国产精品永久免费视频| 2021国内精品久久久久精免费| 性感美女视频免费网站午夜| 精品国产亚洲一区二区在线观看| 精品亚洲麻豆1区2区3区| 亚洲精品女同中文字幕|