Wie Sortiere ich die enum-Mitglieder in alphabetischer Reihenfolge in Java?

Ich habe eine enum-Klasse wie die folgenden:

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;
    }
}

Später unten mein code, den ich im Grunde Durchlaufen der Brief enum und drucken Sie Ihre Mitglieder aus der Konsole:

for (Letter letter : Letter.values()) {
System.out.println(letter.getDescription());
}

Dachte ich, dass die Werte () - Methode würde mir eine bestellt Ansicht des enum (wie erwähnt hier), aber das ist hier nicht der Fall. Ich habe einfach die enum-Mitglieder in der Reihenfolge in der ich Sie erstellt in dem Brief enum-Klasse. Gibt es eine Möglichkeit, um die Ausgabe der Werte eines enum in alphabetischer Reihenfolge? Brauche ich einen separaten Komparator-Objekt, oder ist es eine integrierte Möglichkeit, dies zu tun? Grundsätzlich würde ich gerne die Werte werden alphabetisch sortiert, basierend auf der getDescription () - text:

Alpha
Beta
Gamma
Omega
Der Artikel, den Sie verlinken, ist nicht falsch. Die Bestellung bezieht er sich auf die Reihenfolge, in der Sie eingegeben wurden, in den enum. Der compiler bzw. die runtime nicht im speziellen die Sortierung nach den enum-Werte.
Ich habe diesen link hier bei stackoverflow und arbeitete an mir. stackoverflow.com/a/18416259/6301287

InformationsquelleAutor denchr | 2009-11-14

Schreibe einen Kommentar