Ho un tipo enum (ad esempio per argomento sa CarModel
), utilizzato in un'applicazione (numerose classi).metodi get() in tipo enum Java
public enum CarModel {
DIABLO,
P911,
DB7;
}
ho vari metodi che utilizzano questo tipo enum CarModel
in modi diversi, e ciascuno ha un'istruzione switch per impostare alcune String
variabile a seconda del tipo enum, prima di andare a fare altre cose. (ad esempio, impostare il produttore di alcuni modelli, o impostare il paese di origine ecc. Questi risultati sono statici in fase di esecuzione)
Il problema è, se voglio aggiungere un nuovo modello all'enumerazione, dovrei andare a ciascun metodo e estendere/modificare l'istruzione switch per gestirne l'esistenza. Ciò potrebbe facilmente portare all'errore umano e/o alla duplicazione del codice (se vari metodi utilizzano le stesse istruzioni switch).
Invece di utilizzare istruzioni switch all-over, mi piacerebbe avere metodi statici, che potrebbero essere modificati in un unico luogo, e permetterebbe un comportamento simile al seguente:
String country = CarModel.DIABLO.getCountry() // returns Italy
String manufacturer = CarModel.P911.getManufacturer() // returns Porsche
Questo è possibile con un enum, (ed è un enum anche il modo 'corretto' per fare questo?
Lo faccio sempre, amo assolutamente queste funzionalità di enumerazione. – Malcolm
+1 molto bello !!! vecchio stile enum. – BlaShadow