枚舉類型(enum)

枚舉理解: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) 返回帶指定名稱的指定枚舉類型的枚舉常量。
相關文章
相關標籤/搜索