枚举值获取?

问题描述:

如何从指定的tag []数组中动态获取枚举的值。枚举值获取?

public enum TagName { 

    NAME("ASTON", null), ADDRESS("WER", null); 

    private String tagNameValue; 
    private String defaultValue; 

    public String getTagNameValue() { 
     return tagNameValue; 
    } 

    TagName(String header, String defaultValue) { 
     this.tagNameValue = header; 
     this.defaultValue = defaultValue; 
    } 

    public String getDefaultValue() { 
     return defaultValue; 
    } 

} 

public class MainExe { 

    public static void main(String[] args) { 
     String tag[] = { "NAME", "ADDRESS" }; 

     String data = TagName.ADDRESS.getDefaultValue(); 
     System.out.println(data); 
     // i want to fetch the value from the enum based on the tag value passed 
     // dynamically. 

     // something like this 
     for (int i = 0; i < tag.length; i++) { 

      String data = TagName.tag[i].getDefaultValue(); 
      System.out.println(data); 
     } 

    } 

} 

使用Enum.valueOf(Class<T>, String)或而隐式定义valueOf(String)方法,该方法返回与给定名称的恒定。

for (int i = 0; i < tag.length; i++) { 
    String data = TagName.valueOf(tag[i]).getDefaultValue(); 
    System.out.println(data); 
} 
+0

得到它感谢,对(INT I = 0; I klampo 2015-04-04 07:14:55