2015-04-04 3 views
1

как извлечь значение перечисления динамически из указанного массива tag [].Вычисление значения enum?

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

    } 

} 

ответ

1

Использование 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; я klampo

Смежные вопросы