Java - Enum valueOf() method



Description

The Java 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.

Declaration

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

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

Parameters

  • 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.

Exception

  • 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.

Example 1

The following example shows the usage of valueOf() method for an enum.

package com.tutorialspoint;

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

Output

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

Example 2

The following example shows the another usage of valueOf() method for a different enum.

package com.tutorialspoint;

// enum showing topics covered under Tutorials
enum Tutorials {  
   Java, HTML, Python; 
} 
 
public class EnumDemo { 

   public static void main(String args[]) {
 
      Tutorials t1, t2, t3; 
    
      t1 = Tutorials.Java; 
      t2 = Tutorials.HTML; 
      t3 = Tutorials.Python; 
    
      System.out.print("Programming in " + t1.toString());      
      System.out.println(", Value = " + Tutorials.valueOf("Java")); 
      System.out.print("Programming in " + t2.toString());  
      System.out.println(", Value = " + Tutorials.valueOf("HTML")); 
      System.out.print("Programming in " + t3.toString());  
      System.out.println(", Value = " + Tutorials.valueOf("Python")); 
   } 
} 

Output

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

Programming in Java, Value = Java
Programming in HTML, Value = HTML
Programming in Python, Value = Python
java_lang_enum.htm
Advertisements