【发布时间】:2011-09-07 10:18:22
【问题描述】:
大家好。所以我有一组枚举和一个带有与这些枚举对应的整数的数据库。像这样的东西,例如:
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;
}
}
我还有一个数据库,它只通过整数引用这些天,这对应于它们在上面设置的枚举中的 int。我要做的是查询一个数据库,它将返回一个整数,然后根据从数据库返回的整数将一个枚举器设置为一个对象。我可以这样做:
public static Day getDay(int i) {
switch(i) {
case 1:
return Day.SUNDAY;
case 2:
return Day.MONDAY;
//And so on
}
}
但是对于一个包含超过 100 个枚举的枚举集,这似乎不太实用。
那么有没有办法做到这一点?同样,我的目标是简单地插入一个 int 值并取回一个枚举器,而不必为此集中的许多枚举创建一个新方法。也许我应该让它成为自己的类而不是枚举器,但我希望这样做。谢谢!
【问题讨论】:
-
在这里查看答案和 cmets:stackoverflow.com/questions/3943054/…