Зарезервированные символы в Enum

Рейтинг: 0Ответов: 1Опубликовано: 30.10.2014

Доброе время суток.
Язык - Java. Нужно создать Enum, содержащий перечисление классов энергопотребления: A++, A+, A, B, C, D, E, F, G.
Проблема в невозможности использования "+" как зарезервированного слова.
Есть предложения, как решить данную проблему?

Ответы

▲ 1

В Java можно воспользоваться таким приёмом:

public enum ConsumptionType {
    A("A"),
    A_PLUS("A+"),
    A_PLUS_PLUS("A++"),
    ...
    G("G");

    private String value;

    private ConsumptionType(String value) {
        this.value = value;
    }

    public String getVlaue() {
        return this.value;
    }

    public static ConsumptionType parse(String value) {
        if (value != null) {
            for (ConsumptionType c : ConsumptionType.values()) {
                if (value.equalsIgnoreCase(c.value)) {
                    return c;
                }
            }
       }
       return null;
    }
}

...

ConsumptionType aPlus = ConsumptionType.parse("A+");
System.out.println(aPlus.getValue());