2012-04-04 26 views
12

Sono presenti 3 matrici di stringhe con costanti. ad esempio:Classi Enum multiple in un file Java

String[] digit = {"one", "two", "three"}; 
String[] teen= {"ten", "twenty", "thirty"}; 
String[] anchors = {"hundred", "thousand", "million"}; 

sto pensando di trasferire questi per enumerazioni separatamente, in modo avrò 3 classi enum: digit, teen e anchors con getValue metodi implementati. Ma non voglio averli in file separati perché ho solo piccoli dati e lo stesso tipo di dati. Qual è il modo migliore per avere tutto questo con i metodi di accesso nello stesso file java significativo?

risposta

36

Essi possono essere di tre classi interne come questo:

public class Types { 
    public enum Digits {...} 
    public enum Teens {...} 
    .... 
} 

quindi fare riferimento li Types.Digits.ONE, Types.Teen.TWENTY ecc

È inoltre possibile utilizzare le importazioni statiche come questo:

import Types.Digits; 
import Types.Teen; 

..

per avere riferimenti più brevi: Digits.ONE, Teen.TWENTY ecc.

+0

L'unico suggerimento che farei è di cambiare la firma dell'enumerazione in "public static enum". In questo modo, possiamo utilizzare un'importazione statica sull'enumerazione necessaria e salvare un po 'di digitazione per l'utente. Le enumerazioni – jpm

+1

sono già statiche, non è necessario dichiararle come statiche (come le interfacce). –

+5

Proprio come te. Sono sicuro che l'ho imparato ad un certo punto. Tuttavia, a meno che l'uso del nome completo non aggiunga la leggibilità o la chiarezza, suggerirei comunque di andare con l'importazione statica, anche se questo è davvero un punto di preferenza personale, suppongo. – jpm