隐约记得自己大一的时候在 C 语言的课程中学习过枚举 , 但是已经忘光光了 。 那么本文就在 Java 中再学一遍吧 。
枚举是一组常量集合,这些常量具有特定的标识符 。
在 Java 中, 枚举可以是一个数据类型,也可以直接成为枚举类 (对就是把 class 直接换成 enum ), 为了更好的处理枚举类型,还出现了 EnumMap
和 EnumSet
。
当一个变量只具有特定的几个值时,将其定义为枚举类型。
通过使用枚举的方式,我们可以通过枚举类型名直接引用常量 。
通过枚举也可以使得 switch 语句的可读性更强 。
说到底,我们选择使用枚举这一类型,就是为了增强我们代码的可读性,可复用性 。 —— 很多东西都是为了这个,不然我们可以什么都不学,就直接用几个凭空出现的常量 (哈哈哈哈)。
public enum colorEnum {
RED,
PINK,
BLUE,
BLACK;
// 不在枚举类型中的返回 UNKNOWN
public String judge(String s){
for(int i=0; i<colorEnum.values().length; i++){
if(s.equals(colorEnum.values()[i])){
return s;
}
}
return "UNKNOWN";
}
public static void main(String[] args) {
colorEnum colors = colorEnum.BLUE;
// 枚举类型适合用 switch
switch (colors) {
case RED :
System.out.println(colorEnum.RED);
break;
case BLACK:
System.out.println(colorEnum.BLACK);
break;
case BLUE:
System.out.println(colorEnum.BLUE);
break;
default:
System.out.println("xxx....");
}
System.out.println(colors.judge("A"));
}
}