比如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;
      ... 
}
我现在由于枚举值较多,不想用这种方法实现这种函数,请问怎么用反射做相同的事情?

解决方案 »

  1.   

    枚举应该可以使用 foreach来遍历,不知道跟反射有什么关系。
      

  2.   

    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
    }