java枚舉定義和使用

1、普通

public enum Color {  
  RED, GREEN, BLACK, YELLOW  
}

2、構造、接口

public interface Behaviour {  
    void print();  
    String getInfo();  
} 
public enum Color implements Behaviour{
    // 自動使用構造方法形成枚舉
    RED("紅色", 1), GREEN("綠色", 2), BLANK("白色", 3), YELLO("黃色", 4);  
    // 成員變量  
    private String name;  
    private 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;  
    }  
    // get set 方法  
    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;  
    }
    //覆蓋方法  
    @Override  
    public String toString() {  
        return this.index+"_"+this.name;  
    }
    //接口方法  
    @Override  
    public String getInfo() {  
        return this.name;  
    }  
    //接口方法  
    @Override  
    public void print() {  
        System.out.println(this.index+":"+this.name);  
    }
}

枚舉類型,一旦創建,且被使用(比如,存數據庫啥的)之後,持久化後的對象信息裏面就保存了這個枚舉信息。這個時候你的需求或者要求啥的,需要變更這個枚舉名稱。應當禁止這個變更的操作,只能重新創建,用新的代替舊的,不能直接把舊的給改了,因爲,就數據在逆轉成對象的時候,如果,舊的枚舉不在了,那麼就會400還是500的報錯或者是空指針的bug。
參考:https://blog.csdn.net/mingyuli/article/details/113487078

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章