枚举类
268字小于1分钟
2024-08-08
枚举(enum
)类型是 Java 5
新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示
所有的枚举都继承自 java.lang.Enum
类,由于 Java
不支持多继承,所以枚举对象不能再继承其他类(可以实现接口)
常量的使用
定义
public enum Color {
RED, GREEN, BLANK, YELLOW
}
使用
public static void main(String[] args) {
System.out.println(Color.RED.name()); // RED
}
switch
的使用
switch ( color ) {
case BLANK:
System.out.println( color );
break;
case RED :
System.out.println( color );
break;
default:
System.out.println( color );
break;
}
自定义函数
定义
public enum Color {
RED("1", "红色"),
GREEN("2", "绿色"),
BLANK("3", "黑色"),
YELLOW("4", "黄色");
private String code;
private String value;
Color(String code, String value) {
this.code = code;
this.value = value;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
// 通过 code 获取 value
public static String getValueByCode(String code) {
for (Color e : values()) {
if (Objects.equals(e.getCode(), code)) {
return e.getValue();
}
}
return "";
}
}
使用
public static void main(String[] args) {
System.out.println(Color.RED.getCode()); // 1
System.out.println(Color.RED.getValue()); // 红色
System.out.println(Color.getValueByCode("2")); // 绿色
}