Java.lang.Enum.valueOf() 方法

描述

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


声明

以下是 java.lang.Enum.valueOf() 方法的声明。

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

参数

  • enumType − 这是枚举类型的 Class 对象,从中返回一个常量。

  • name − 这是要返回的常量的名称。


返回值

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


异常

  • IllegalArgumentException − 如果指定的枚举类型没有指定名称的常量,或者指定的类对象不代表枚举类型。

  • NullPointerException − 如果 enumType 或 name 为 null。


示例

下面的例子展示了 java.lang.Enum.valueOf() 方法的使用。

package com.tutorialspoint;

import java.lang.*;

// enum showing Mobile prices
enum Mobile {
   Samsung(400), Nokia(250),Motorola(325);
  
   int price;
   Mobile(int p) {
      price = p;
   }
   int showPrice() {
      return price;
   } 
}

public class EnumDemo {
   
   public static void main(String args[]) {
   
      System.out.println("CellPhone List:");
      for(Mobile m : Mobile.values()) { 
         System.out.println(m + " costs " + m.showPrice() + " dollars");
      }

      Mobile ret;
      ret = Mobile.valueOf("Samsung"); 
      System.out.println("Selected : " + ret);                              
   }
} 

让我们编译并运行上面的程序,这将产生下面的结果 −

CellPhone List:
Samsung costs 400 dollars
Nokia costs 250 dollars
Motorola costs 325 dollars
Selected : Samsung