枚举值获取?
问题描述:
如何从指定的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);
}
得到它感谢,对(INT I = 0; I
klampo
2015-04-04 07:14:55