java switch case 語句接列舉類 實現判斷
首先定義列舉類,如:
public enum DataTypeEnum {
/**小時型別值**/
HOUR("hour"),
/**小時型別值**/
DAY("day"),
/**小時型別值**/
WEEK("week"),
/**小時型別值**/
MONTH("month"),
/**小時型別值**/
YEAR("year"),
/**小時型別值**/
MINUTE("minute");
private String value;
private DataTypeEnum(String value){
this.value = value;
}
public String getValue() {
return value;
}
public static DataTypeEnum getType(String dataTypeCode){
for(DataTypeEnum enums:DataTypeEnum.values()){
if(enums.value.equals(dataTypeCode)){
return enums;
}
}
return null;
}
}
列舉類中編寫一個得到列舉類的方法,如呼叫該方法時,引數dataTypeCod為week,呼叫該方法返回的是WEEK
接下來編寫switch case判斷 如:
//根據傳過來的資料型別值,獲取相應的列舉
DataTypeEnum dt = DataTypeEnum.getType(dataType);
//根據列舉判斷,給tableName,和condition賦予不同場景下的不同值
switch(dt) {
case HOUR:
somthingDone(要實現的業務邏輯)
break;
case DAY:
somthingDone(要實現的業務邏輯)
break;
case WEEK:
somthingDone(要實現的業務邏輯)
break;
case MONTH:
somthingDone(要實現的業務邏輯)
break;
case YEAR:
somthingDone(要實現的業務邏輯)
break;
default :
somthingDone(要實現的業務邏輯)
}
在條件較多,不方便用if else語句判斷時,用switch case,美觀直接,同時,在cese的判斷中,直接使用列舉型別,對於需要判斷的型別,在列舉類中定義,方便管理。