枚舉理解:java
枚舉類型是Java 5中新增特性的一部分,它是一種特殊的數據類型,之因此特殊是由於它既是一種類(class)類型卻又比類類型多了些特殊的約束,可是安全
這些約束的存在也造就了枚舉類型的簡潔性、安全性以及便捷性。ide
關鍵字:enum。this
public enum Color { RED, GREEN, BLANK, YELLOW }
向枚舉中添加新方法spa
public enum Color { 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; } }
實現接口code
全部的枚舉都繼承自java.lang.Enum類。因爲Java 不支持多繼承,因此枚舉對象不能再繼承其餘類。 對象
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; } //接口方法 @Override public String getInfo() { return this.name; } //接口方法 @Override public void print() { System.out.println(this.index+":"+this.name); } }
Enum抽象類常見方法
返回類型 | 方法名稱 | 方法說明 |
---|---|---|
int |
compareTo(E o) |
比較此枚舉與指定對象的順序 |
boolean |
equals(Object other) |
當指定對象等於此枚舉常量時,返回 true。 |
Class<?> |
getDeclaringClass() |
返回與此枚舉常量的枚舉類型相對應的 Class 對象 |
String |
name() |
返回此枚舉常量的名稱,在其枚舉聲明中對其進行聲明 |
int |
ordinal() |
返回枚舉常量的序數(它在枚舉聲明中的位置,其中初始常量序數爲零) |
String |
toString() |
返回枚舉常量的名稱,它包含在聲明中 |
static<T extends Enum<T>> T |
static valueOf(Class<T> enumType, String name) |
返回帶指定名稱的指定枚舉類型的枚舉常量。 |