起因:在做最近一个druid查询项目的时候,由于queryType有多种所以想做成枚举类来实现,但是代码逻辑中有用到该枚举类和string比较的情况,实现方式如下:
枚举类:
public enum QueryTypeEnum { /** * 不支持分组 */ TIMESERIES, /** * 支持单一维度分组 */ TOPN, /** * 支持多维度分组 */ GROUPBY; }
和String串做比较:
if (QueryTypeEnum.TOPN.equals(QueryTypeEnum.valueOf(queryType.toUpperCase()))) { ... }
嗯,差不多就是这样,穿插一个小插曲:之前我定义的枚举类是这样的:public static enum QueryTypeEnum{...}
static字段是无用的,差点让人笑掉大牙,哈哈。