起因:在做最近一個druid查詢項目的時候,由於queryType有多種所以想做成枚舉類來實現,但是代碼邏輯中有用到該枚舉類和string比較的情況,實現方式如下:
枚舉類:
public enum QueryTypeEnum { /** * 不支持分組 */ TIMESERIES, /** * 支持單一維度分組 */ TOPN, /** * 支持多維度分組 */ GROUPBY; }
和String串做比較:
if (QueryTypeEnum.TOPN.equals(QueryTypeEnum.valueOf(queryType.toUpperCase()))) { ... }
嗯,差不多就是這樣,穿插一個小插曲:之前我定義的枚舉類是這樣的:public static enum QueryTypeEnum{...}
static字段是無用的,差點讓人笑掉大牙,哈哈。