用EnumMap代替序数索引

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 仅接受特定枚举类型的键。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值