当前位置: 首页 > 工具软件 > remark > 使用案例 >

Java 枚举(enum)使用——remark一下系列

戴靖
2023-12-01

语法(定义)

创建枚举类型要使用 enum 关键字,隐含了所创建的类型都是 java.lang.Enum 类的子类(java.lang.Enum 是一个抽象类)。枚举类型符合通用模式 Class Enum<E extends Enum>,而 E 表示枚举类型的名称。枚举类型的每一个值都将映射到 protected Enum(String name, int ordinal) 构造函数中,在这里,每个值的名称都被转换成一个字符串,并且序数设置表示了此设置被创建的顺序。

**(说人话)**通过Enum关键字创建枚举类型,他与class类相似,也是个单独的类,但是不能继承其他类。有属性,有构造。枚举对应的实例是有限的,使用枚举前要先构造,对应的实例只能在这个枚举里面找对应的值。

用法一:常量

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

此时每个值都被映射到protected Enum(String name, int ordinal) 构造函数中,在这里,每个值的名称都被转换成一个字符串,并且序数设置表示了此设置被创建的顺序(从0开始)。
即:

new Enum<EnumTest>("MON",0);
new Enum<EnumTest>("TUE",1);
new Enum<EnumTest>("WED",2);
... ...

用法二:带参数的常量

public enum YesOrNo{  
  YES(1,"是"),NO(0,"否");
}  

除此之外还有Switch定义常量等等方法构造枚举类型。

例子

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;  
    }  
}  

运用时直接调用接口:Color.getName() 即可。

 类似资料: