枚举类型(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) 返回带指定名称的指定枚举类型的枚举常量。
相关文章
相关标签/搜索