Java getting the Enum name given the Enum Value

前端 未结 5 611
轻奢々
轻奢々 2020-12-15 14:55

How can I get the name of a Java Enum type given its value?

I have the following code which works for a particular Enum type, can I make it more

5条回答
  •  南笙
    南笙 (楼主)
    2020-12-15 15:30

    Try below code

    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(e.name.equals(code)) return e.name();
            }
            return null;
        }
    }
    

    Now you can use below code to retrieve the Enum by Value

    SalaryHeadMasterEnum.getEnumByString("Basic Pay")
    

    Use Below code to get ENUM as String

    SalaryHeadMasterEnum.BASIC_PAY.name()
    

    Use below code to get string Value for enum

    SalaryHeadMasterEnum.BASIC_PAY.toString()
    

提交回复
热议问题