Добавление указанного значения в Enum - PullRequest
0 голосов
/ 13 ноября 2018

Я создал Enum с дополнительными кавычками в строковом значении. Когда я вызываю это значение из Enum в любом классе, я получаю значение, но без кавычек.

Мой Enum:

public enum ValueMapping {
 BSE_M("BSE_MEDIUM"),
 REPS("\"REPS\""),
 TBOMD("TBOMD");

 private String name;

 ValueMapping(String name) {
     this.name = name;
 }

 public String getName() {
     return name;
 }

 public void setName(String name) {
     this.name = name;
 }

 public static ValueMapping getByName(String name) {
     ValueMapping result = null;
     for (ValueMapping operName : values()) {
         if (operName.getName().equals(name)) {
             result = operName;
             break;
         }
     }
     return result;
 }
}

Как я пытаюсь получить значение из Enum:

ValueMapping.REPS.name()

Вопрос: Есть ли способ получить значение из Enum с кавычками?

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

Нет механизма для переопределения name(), потому что метод final. И вы не можете добавить кавычки к имени переменной enum.

Итак, единственный способ получить "REPS" - это позвонить ValueMapping.REPS.getName().

0 голосов
/ 13 ноября 2018

Вы можете использовать getName() как:

ValueMapping.REPS.getName()

, например,

System.out.println(ValueMapping.REPS.getName());

напечатает "REPS"

...