Java - 列舉 valueOf() 方法



描述

Java 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。

獲取列舉的底層值示例

以下示例演示了列舉中 valueOf() 方法的用法。

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

輸出

讓我們編譯並執行以上程式,這將產生以下結果:

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

獲取列舉的底層值示例

以下示例演示了不同列舉中 valueOf() 方法的另一種用法。

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

輸出

讓我們編譯並執行以上程式,這將產生以下結果:

Programming in Java, Value = Java
Programming in HTML, Value = HTML
Programming in Python, Value = Python
java_lang_enum.htm
廣告

© . All rights reserved.