枚举如何动态生成枚举值

leon_wzm 2008-09-19 08:37:11
比如enum Week{ONE,TWO,THREE,FOUR,FIVE,SIX,SEVEN}

Week getWeek(String day)
{
if(day.equal("ONE"))
return Week.ONE;
else if(day.equal("TWO"))
return Week.TWO;
...
}
我现在由于枚举值较多,不想用这种方法实现这种函数,请问怎么用反射做相同的事情?
...全文
343 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
酒浪子 2008-09-19
  • 打赏
  • 举报
回复
学习!
ZangXT 2008-09-19
  • 打赏
  • 举报
回复


public class Main {

public static void main(String[] args) {
Week week = getWeek("ONE");
System.out.println(week);
}

public static Week getWeek(String day) {
return Week.valueOf(day);
}
}

enum Week {

ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN
}
ZangXT 2008-09-19
  • 打赏
  • 举报
回复
枚举应该可以使用 foreach来遍历,不知道跟反射有什么关系。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧