voglio creare un enum e dichiarare diverse costanti all'interno di esso per uso interno ...Dichiarare le costanti all'interno di enum
public enum SearchType {
static final String TEXT = "text";
static final String BOOLEAN = "boolean";
STARTS_WITH(TEXT),
ENDS_WITH(TEXT),
CONTAINS(BOOLEAN),
WILDCARD(TEXT),
REGEXP(TEXT),
RANGE(TEXT)
private String searchType;
private SearchType(String type) {
searchType = type;
}
}
purtroppo non può essere fatto in questo modo. La soluzione migliore mi è venuta in mente finora è quella di dichiarare un'interfaccia nidificato per memorizzare le costanti ...
public enum SearchType {
STARTS_WITH(Categories.TEXT),
ENDS_WITH(Categories.TEXT),
CONTAINS(Categories.BOOLEAN),
WILDCARD(Categories.TEXT),
REGEXP(Categories.TEXT),
RANGE(Categories.TEXT)
interface Categories{
static final String TEXT = "text";
static final String BOOLEAN = "boolean";
}
private String searchType;
private SearchType(String type) {
searchType = type;
}
}
quindi mi chiedo se c'è un modo migliore per farlo?
Grazie! Funziona anche come enumerazione annidata (almeno compila) –