大家好。我的问题是我有一组枚举类型并且数据库中存储了与这些枚举类型对应的整数值。例如:
public static enum Day {
SUNDAY(1), MONDAY(2), TUESDAY(3), WEDNESDAY(4), THURSDAY(5), FRIDAY(6), SATURDAY(7);
public final int fId;
private Day(int id) {
this.fId = id;
}
}
我还有一个数据库,它只用整数来表示这些日期,这些整数对应于上面枚举集合中的整数。我想要做的是查询一个数据库,它将返回一个整数,然后根据从数据库返回的整数设置一个对象的枚举器。我可以这样做:
public static Day getDay(int i) {
switch(i) {
case 1:
return Day.SUNDAY;
case 2:
return Day.MONDAY;
//And so on
}
}
但是对于一个有超过100个枚举值的枚举集合,这种方法似乎不是很实用。
那么是否有一种方法可以做到这一点呢?我的目标仅仅是插入一个int值并获取一个枚举器,而不必为此集合中的许多枚举类型创建新的方法。也许我应该将其作为自己的类而不是枚举器,但我希望以这种方式来实现。谢谢!