学习Java枚举的完整攻略
什么是枚举?
枚举(Enum)是Java中的一种数据类型,它可以将一组有限个数的字符常量定义为可枚举的列表。
比如可以定义一个颜色的枚举类型:
enum Color {
RED,
YELLOW,
BLUE,
GREEN
}
枚举的特点
- 枚举中的每个枚举值都是一个常量,用大写字母表示
- 枚举类型通过
Enum
类实现,每个枚举值都是该类型的一个公共静态常量 - 枚举类型可以拥有构造方法和方法
- 枚举类型的构造方法必须是
private
的,枚举值必须在枚举类型中定义并初始化 - 枚举类型可以实现接口,可以覆盖实现接口方法
如何使用枚举?
定义枚举类型
enum Season {
SPRING,
SUMMER,
AUTUMN,
WINTER
}
枚举类型的使用
获取枚举值:
Season season = Season.SPRING;
System.out.println(season); // 输出 SPRING
遍历枚举列表:
for (Season season : Season.values()) {
System.out.println(season);
}
输出:
SPRING
SUMMER
AUTUMN
WINTER
使用switch
语句匹配枚举值:
Season season = Season.SPRING;
switch (season) {
case SPRING:
System.out.println("春天来了");
break;
case SUMMER:
System.out.println("夏天到来");
break;
case AUTUMN:
System.out.println("秋高气爽");
break;
case WINTER:
System.out.println("冬天雪花飘");
break;
default:
System.out.println("没有匹配到");
break;
}
输出结果为:
春天来了
示例说明
示例一
定义一个星期的枚举类型:
enum Week {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
使用switch
语句匹配星期:
Week week = Week.SUNDAY;
switch (week) {
case MONDAY:
case TUESDAY:
case WEDNESDAY:
case THURSDAY:
case FRIDAY:
System.out.println("这是工作日");
break;
case SATURDAY:
case SUNDAY:
System.out.println("这是周末");
break;
default:
System.out.println("没有匹配到");
break;
}
输出结果为:
这是周末
示例二
定义一个字体的枚举类型:
enum Font {
PLAIN("普通"),
BOLD("加粗"),
ITALIC("斜体"),
BOLD_ITALIC("加粗斜体");
private String name;
private Font(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
输出枚举值的名称和描述:
for (Font font : Font.values()) {
System.out.println(font.name() + ":" + font.getName());
}
输出结果为:
PLAIN:普通
BOLD:加粗
ITALIC:斜体
BOLD_ITALIC:加粗斜体
总结
本文详细介绍了Java枚举的定义、特点和使用方法,并通过两个示例说明了枚举的实际应用场景。希望能够帮助初学者更好地理解和应用枚举。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一篇文章让你三分钟学会Java枚举 - Python技术站