Ho spesso la situazione in cui ho bisogno di una variabile per una classe che potrebbe essere rappresentato come semplice tipo enum, ad esempio:Overumill enum di Java?
private enum PageOrder {DOWN_THEN_OVER, OVER_THEN_DOWN};
Se un dichiarare il tipo enum all'interno della classe che contiene la variabile poi ho usare il nome qualificato MyClass.PageOrder
che non è comodo. Ma se creo una nuova classe, ho una classe solo per una semplice dichiarazione enum, che per me sembra esagerata.
Per tale motivo, utilizzo spesso numeri interi anziché di tipo enum.
Eventuali commenti/suggerimenti su questo argomento?
Mai "correggere" la soluzione corretta su una errata solo per salvare la digitazione. – biziclop
"* Ma se creo una nuova classe ho una classe solo per una semplice dichiarazione enum, che mi sembra esagerata *" - dov'è l'overkill? Un enum privato è anche una classe (con un proprio file .class) - ha solo una visibilità diversa. –
Un enum nel proprio file può sembrare eccessivo, ma non lo è. È completamente appropriato ed è un buon design. Aggiungi qualche utile javadoc alla classe enum e ad ognuna delle sue costanti, e scoprirai che il file sorgente non sembrerà quasi scarso. Ci sono usi legittimi per le classi interne, ma fare qualcosa di una classe interiore semplicemente perché il proprio file sarebbe "troppo pesante" non è una buona ragione. – VGR