Java enum elements with spaces?

后端 未结 8 716
夕颜
夕颜 2020-12-02 19:07

Im working on java, I have created an enum as follows:

public enum myEnum
{
    india,
    russian,
    england,
    north America
}

Above

8条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-02 19:35

    I'm gong to go ahead and guess why you want a space in the name; because you want to reference it as a string.

    So do this:

    public enum MyEnum {
        INDIA("India"),
        RUSSIAN("Russian"),
        ENGLAND("England"),
        NORTH_AMERICA("North America");    
    
        private String name;
    
        MyEnum(String name) {
            this.name = name;
        }
    
        public String getName() {
            return this.name;
        }    
    }
    

    You can consider overriding string.

    public toString() {
        return name;
    }
    

    An advantage of overriding toString() is that this string can also be used in MyEnum .valueOf(myString). So overriding toString basically creates a HashMap of the enum values.

提交回复
热议问题