EnumMap 是 Java 中一种特殊的 Map 实现,专门用于处理枚举类型的键。它可以用来代替序数索引,提高代码的可读性和类型安全性。以下是一个简单的例子,演示如何使用 EnumMap 代替序数索引:
import java.util.EnumMap;
// 定义一个枚举类型表示一周的每一天
enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}
// 定义一个类使用 EnumMap 表示每一天的活动安排
class DailySchedule {
private EnumMap<Day, String> activities;
public DailySchedule() {
this.activities = new EnumMap<>(Day.class);
}
public void addActivity(Day day, String activity) {
activities.put(day, activity);
}
public String getActivity(Day day) {
return activities.get(day);
}
}
public class EnumMapExample {
public static void main(String[] args) {
// 创建一个每天的活动安排
DailySchedule schedule = new DailySchedule();
// 添加活动
schedule.addActivity(Day.MONDAY, "Meeting");
schedule.addActivity(Day.TUESDAY, "Gym");
schedule.addActivity(Day.WEDNESDAY, "Workshop");
// 获取活动
Day dayToCheck = Day.MONDAY;
System.out.println("Activity on " + dayToCheck + ": " + schedule.getActivity(dayToCheck));
}
}
在这个例子中,Day 枚举表示一周的每一天,而 DailySchedule 类使用 EnumMap 来表示每一天的活动安排。通过使用 EnumMap,我们可以避免使用序数索引,提高代码的可读性和可维护性。这种方法还具有类型安全性,因为 EnumMap 仅接受特定枚举类型的键。

381

被折叠的 条评论
为什么被折叠?



