Как отсортировать элементы enum по алфавиту в Java?
У меня есть класс enum, как показано ниже:
public enum Letter {
OMEGA_LETTER("Omega"),
GAMMA_LETTER("Gamma"),
BETA_LETTER("Beta"),
ALPHA_LETTER("Alpha"),
private final String description;
Letter() {
description = toString();
}
Letter(String description) {
this.description = description;
}
public String getDescription() {
return description;
}
}
Позже в моем коде я в основном перебираю перечисление Letter и выводю его члены на консоль:
for (Letter letter : Letter.values()) {
System.out.println(letter.getDescription());
}
Я думал, что метод values () даст мне упорядоченное представление перечисления (как уже упоминалосьВот), но здесь дело не в этом. Я просто получаю элементы enum в том порядке, в котором я их создала в классе enum Letter. Есть ли способ вывести значения перечисления в алфавитном порядке? Нужен ли мне отдельный объект компаратора или есть встроенный способ сделать это? По сути, я хотел бы, чтобы значения были отсортированы по алфавиту на основе текста getDescription ():
Alpha
Beta
Gamma
Omega