Java.lang.Enum.valueOf() Method



The java.lang.Enum.valueOf() method returns the enum constant of the specified enumtype with the specified name. The name must match exactly an identifier used to declare an enum constant in this type.


Following is the declaration for java.lang.Enum.valueOf() method

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


  • enumType − This is the Class object of the enum type from which to return a constant.

  • name − This is the name of the constant to return.

Return Value

This method returns the enum constant of the specified enum type with the specified name.


  • IllegalArgumentException − if the specified enum type has no constant with the specified name, or the specified class object does not represent an enum type.

  • NullPointerException − if enumType or name is null.


The following example shows the usage of java.lang.Enum.valueOf() method.

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);                              

Let us compile and run the above program, this will produce the following result −

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