Sto leggendo Java efficace scritto da Joshua Bloch pubblicato nel 2008 e un consiglio è di sostituire i costrutti enum con le classi. Ecco l'esempio mostrato dal libro.Sostituisce i costrutti enum con le classi in Java ancora rilevanti?
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");
}
La mia domanda è dato Java ora supporta tipo enum, è ancora una buona idea di utilizzare l'approccio di cui sopra? Ecco un esempio di tipo enum Java.
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
enumerazioni in Java sono classi. – FDinoff
Per la funzionalità di base enum-like non c'è motivo di non usare il semplice 'enum's. Ci sono alcune piccole modifiche avanzate che non puoi fare con enumerazioni in cui il pattern enum sicuro dal tipo può ancora essere applicato. –
Leggi la 2a edizione del libro, ne vale davvero la pena, perché copre le nuove funzionalità Java. –