У меня есть класс перечисления, например:
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 (как упоминалось здесь), но это не случай здесь. Я просто получаю членов перечисления в том порядке, в котором я их создал, в классе перечисления Letter. Есть ли способ вывести значения перечисления в алфавитном порядке? Нужен ли мне отдельный объект компаратора или есть встроенный способ сделать это? В основном я хотел бы, чтобы значения были отсортированы в алфавитном порядке на основе текста getDescription():
Alpha
Beta
Gamma
Omega