Java 在枚举内声明常量
我想创建一个枚举,并在其中声明几个常量以供内部使用Java 在枚举内声明常量,java,enums,constants,Java,Enums,Constants,我想创建一个枚举,并在其中声明几个常量以供内部使用 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), RANG
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;
}
}
不幸的是,不能这样做。到目前为止,我提出的最佳解决方案是声明一个嵌套接口来存储常量
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;
}
}
因此,我想知道是否有更好的方法可以做到这一点?对于
类别
,我也会使用enum
。如果你把它放在顶级课堂上,它看起来会很自然
您必须在任何其他常量之前定义enum
值
这样做是为了简化语法。首先使用特殊的简化语法获得枚举值,然后是定义的常量。当您开始重写常量中的方法时,这种需要就更加明显了。谢谢!它甚至可以用作嵌套枚举(至少可以编译)