Java如何获取与字符串对应的枚举常量值?

valueOf()枚举类型的方法使您可以获取值对应于指定字符串的枚举常量。当我们传递枚举中不可用的字符串时,将引发异常。

package org.nhooo.example.fundamental;

enum Day {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}

public class EnumValueOfTest {
    public static void main(String[] args) {
        // 使用valueOf()方法,我们可以获得一个枚举常量,其值
        // value对应于作为参数传递的字符串。
        Day day = Day.valueOf("SATURDAY");
        System.out.println("Day = " + day);
        day = Day.valueOf("WEDNESDAY");
        System.out.println("Day = " + day);

        try {
            // 以下行将产生异常,因为
            // 枚举类型不包含名为JANUARY的常量。
            day = Day.valueOf("JANUARY");
            System.out.println("Day = " + day);
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        }
    }
}