枚举值获取?
Enum value fetch?
如何从指定的 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)
方法,其中 returns 具有给定名称的常量。
for (int i = 0; i < tag.length; i++) {
String data = TagName.valueOf(tag[i]).getDefaultValue();
System.out.println(data);
}
如何从指定的 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)
方法,其中 returns 具有给定名称的常量。
for (int i = 0; i < tag.length; i++) {
String data = TagName.valueOf(tag[i]).getDefaultValue();
System.out.println(data);
}