Java.lang.Enum 类

java.lang.Enum.valueOf() 方法返回具有指定名称的指定枚举类型的枚举常量。该名称必须与用于声明此类型的枚举常量的标识符完全匹配。

语法

public static <T extends Enum<T>> T valueOf(Class<T> enumType,
                                            String name) 

这里,T 是要返回其常量的枚举类型。

参数

enumType指定要从中返回常量的枚举类型的 Class 对象。
name指定要返回的常量的名称。

返回值

返回具有指定名称的指定枚举类型的枚举常量。

异常

  • 抛出 IllegalArgumentException,如果指定的枚举类型没有指定名称的常量,或者指定的类对象不表示枚举类型。
  • 抛出 NullPointerException,如果 enumType或者 name 为 null。

示例:

在下面的示例中,java.lang.Enum.valueOf() 方法返回具有给定名称的给定枚举类型的枚举常量。

import java.lang.*;

public class MyClass {
  
  //创建一个枚举
  public enum WeekDay{
    MON("1st"), TUE("2nd"), WED("3rd"), THU("4th"), FRI("5th");

    String day;
    WeekDay(String x) {
      day = x;
    }

    String showDay() {
      return day;
    }
  }

  public static void main(String[] args) {
    System.out.println("WeekDay List:");
    for(WeekDay i : WeekDay.values()) {
      System.out.println(i + " is the " + i.showDay() + " day of the week.");
    }

    WeekDay val = WeekDay.valueOf("MON");
    System.out.println("Selected WeekDay = " + val); 

  }
} 

上述代码的输出将是:

WeekDay List:
MON is the 1st day of the week.
TUE is the 2nd day of the week.
WED is the 3rd day of the week.
THU is the 4th day of the week.
FRI is the 5th day of the week.
Selected WeekDay = MON