ich eine Enumeration erstellen möchten, und in der es für die innere Verwendung mehrere Konstanten deklarieren ...Konstanten deklarieren innerhalb von 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;
}
}
leider kann es nicht auf diese Weise durchgeführt werden. Beste Lösung, die ich mit so habe kommen weit ist eine verschachtelte Schnittstelle zu deklarieren Konstanten zu speichern ...
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;
}
}
so frage ich mich, ob es einen besseren Weg, dies zu tun?
Danke! Es funktioniert sogar als verschachtelte enum (zumindest kompiliert) –