重走java--Step 3

java基礎(三)之枚舉用法
用法一:常量

public enum Color {
    RED,GREEN,RED,YELLOW;
}
用法二:枚舉中自定義方法
/**
 * 枚舉中自定義方法
 */
public enum Color {
    RED("紅色", 1), GREEN("綠色", 2), BLANK("白色", 3), YELLOW("黃色", 4);
    //成員變量
    public String name;
    public int index;

    //構造函數
    private Color(String name, int index) {
        this.name = name;
        this.index = index;
    }

    //普通方法
    public static String getName(int index) {
        for (Color c : Color.values()) {
            if (c.getIndex() == index) {
                return c.name;
            }

        }
        return null;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getIndex() {

        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }
}
用法三:switch
public class TrafficLight {
    Color signal = Color.RED;

    public void change() {
        switch (signal) {
            case RED:
                signal = Color.GREEN;
                break;
            case GREEN:
                signal = Color.YELLOW;
                break;
            case YELLOW:
                signal = Color.RED;
                break;
        }
    }
}
用法四:枚舉實現接口
枚舉繼承了java.lang.Enum.java不支持多繼承,但枚舉能夠實現接口。

用法五:枚舉集合
枚舉集合有EnumMap與EnumSet兩種,EnumMap集合中的key值是枚舉,value能夠是任何類型,numSet保證集合中的元素不重複。
實例用法:
public static void testEnumMap() {
        EnumMap<Light, String> currLight = new EnumMap<Light, String>(Light.class);
        currLight.put(Light.GREEN, "綠燈");
        currLight.put(Light.RED, "紅燈");
        currLight.put(Light.YELLOW, "黃燈");
        for (Light aLight : Light.values()) {

            System.out.println("[key=" + aLight.name() + ",value="

                    + currLight.get(aLight) + "]");

        }
}java

相關文章
相關標籤/搜索