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