次のような列挙型クラスがあります。
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() メソッドを使用すると、列挙型の順序付けられたビューが得られると思いました (ここで説明したように) が、ここではそうではありません。Letter enum クラス内で作成した順序で enum メンバーを取得するだけです。列挙型の値をアルファベット順に出力する方法はありますか? 別のコンパレータオブジェクトが必要ですか、それともこれを行う組み込みの方法はありますか? 基本的に、 getDescription() テキストに基づいて値をアルファベット順にソートしたいと思います。
Alpha
Beta
Gamma
Omega