Jul*_*lia 49 java enums enumeration
如何获取Java Enum类型的名称?
我有以下代码适用于特定的枚举类型,我可以使它更通用吗?
public enum Category {
APPLE("3"),
ORANGE("1"),
private final String identifier;
private Category(String identifier) {
this.identifier = identifier;
}
public String toString() {
return identifier;
}
public static String getEnumNameForValue(Object value){
Category[] values = Category.values();
String enumValue = null;
for(Category eachValue : values) {
enumValue = eachValue.toString();
if (enumValue.equalsIgnoreCase(value)) {
return eachValue.name();
}
}
return enumValue;
}
}
Run Code Online (Sandbox Code Playgroud)
pra*_*kre 27
试试下面的代码
public enum SalaryHeadMasterEnum {
BASIC_PAY("basic pay"),
MEDICAL_ALLOWANCE("Medical Allowance");
private String name;
private SalaryHeadMasterEnum(String stringVal) {
name=stringVal;
}
public String toString(){
return name;
}
public static String getEnumByString(String code){
for(SalaryHeadMasterEnum e : SalaryHeadMasterEnum.values()){
if(code == e.name) return e.name();
}
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,您可以使用下面的代码来按值检索枚举
SalaryHeadMasterEnum.getEnumByString("Basic Pay")
Run Code Online (Sandbox Code Playgroud)
使用下面的代码将ENUM作为String
SalaryHeadMasterEnum.BASIC_PAY.name()
Run Code Online (Sandbox Code Playgroud)
使用下面的代码来获取枚举的字符串值
SalaryHeadMasterEnum.BASIC_PAY.toString()
Run Code Online (Sandbox Code Playgroud)
小智 5
试试,以下代码..
@Override
public String toString() {
return this.name();
}
Run Code Online (Sandbox Code Playgroud)