如何从指定的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);
}
}
}
答案 0 :(得分: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);
}