[РЕДАКТИРОВАТЬ 1] Обновленный вопрос - первый ответ из @shmosel может показаться немного странным в результате, и некоторые ранние комментарии могут ссылаться на то, что я обратился. Другой, например: < /p>
Код: Выделить всё
public enum Day {
DAY_MON("Mon"),
DAY_TUE("Tue");
private String string;
Day(String string) {
this.string = string;
}
public static Day fromString(String text){
for (Day thisDay : Day.values()) {
if (thisDay.string.equalsIgnoreCase(text)) {
return thisDay;
}
}
return null;
}
public static String toString(Day day) {
return day.string;
}
}
< /code>
Пример использования: < /p>
Day dayEnum = Day.fromString("Mon"); // DAY_MON
String dayString = Day.toString(dayEnum); // "Mon"
Это не оптимально, однако, потому что мне пришлось бы реализовать toString () и fromString () для каждого перечисления. Большинство примеров, которые я нахожу, просто преобразуют случай, заменяя пространства на недостатки и т. Д. Способен сохранять синтаксис, такой как Day Dayenum = day.fromString ("mon") , а не его предложенная техника, которая требует передачи Day.class в интерфейс.
Подробнее здесь:
https://stackoverflow.com/questions/797 ... -java-enum