Enum与String类型的比较

起因:在做最近一个druid查询项目的时候,由于queryType有多种所以想做成枚举类来实现,但是代码逻辑中有用到该枚举类和string比较的情况,实现方式如下:

枚举类:

public enum QueryTypeEnum {
    /**
     * 不支持分组
     */
    TIMESERIES,
    /**
     * 支持单一维度分组
     */
    TOPN,
    /**
     * 支持多维度分组
     */
    GROUPBY;
}

和String串做比较:

if (QueryTypeEnum.TOPN.equals(QueryTypeEnum.valueOf(queryType.toUpperCase()))) {
    ...
}

嗯,差不多就是这样,穿插一个小插曲:之前我定义的枚举类是这样的:public static enum QueryTypeEnum{...}

static字段是无用的,差点让人笑掉大牙,哈哈。

你可能感兴趣的:(Enum与String类型的比较)