私は2008年に発行されたJoshua Blochによって書かれたEffective Javaを読んでいます.1つのヒントはenum構造体をクラスに置き換えることです。この本からの例を示します。enum構造体をJavaのクラスで置き換えることは、まだ有効ですか?
public class Suit {
private final String name;
public Suit(String name) { this.name = name; }
public String toString() { return name; }
public static final Suit CLUBS = new Suit("clubs");
public static final Suit DIAMONDS = new Suit("diamonds");
public static final Suit HEARTS = new Suit("hearts");
public static final Suit SPADES = new Suit("spades");
}
私の質問は、Javaがenum型をサポートしているので、上記の方法を使用するのはまだ良いアイデアですか? Javaの列挙型の例を次に示します。
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
Javaのenumはクラスです。 – FDinoff
基本的なenumのような機能のために、単純な 'enum'を使わない理由はありません。型安全な列挙型パターンをまだ適用できる列挙型ではできない、少し高度な改良があります。 –
本書の第2版を読むと、それは本当に価値がある。新しいJavaの機能をカバーするからだ。 –