java.lang.Enum.valueOf() 方法返回指定名稱enumtype的列舉常數。該名稱必須用於宣告在此型別的列舉常數的識別符號完全匹配。
以下是java.lang.Enum.valueOf()方法的宣告
public static <T extends Enum<T>> T valueOf(Class<T> enumType, String name)
enumType -- 這是列舉型別,返回一個常數的類的物件。
name -- 這是常數,要返回的名稱。
此方法返回具有指定名稱的列舉型別的列舉常數。
IllegalArgumentException -- 如果指定的列舉型別沒有常數指定名稱,或指定的類物件不表示列舉型別。
NullPointerException -- 如果 enumType 或 name 為 null.
下面的例子顯示java.lang.Enum.valueOf()方法的使用。
package com.yiibai; 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