JDK1.5 才开始有枚举类型,同时Java的switch 语句支持枚举
为什么使用枚举代替常量,因为常量往往含义不清,比如整型1,2,不知道其代表的含义,也加大了代码的后期维护难度,枚举比起常量来说,含义更清晰,更容易理解,结构上也更加紧密
原代码
switch (operationType) {
case 1:
deleteDiskFilesByFilePathAndFileName(filePath.toString(), fileName);
break;
case 2:
updateDiskFileStatus(filePath.toString(), fileName);
break;
default:
break;
}
定义枚举类
public enum DiskFileOperationTypeEnum {
CLEAN_OLD_DISKFILE(1),
UPDATE_DISKFILE_STATUS(2);
private int value = 0;
//重写构造方法,使其满足自身业务
private DiskFileOperationTypeEnum(int value) {
this.value = value;
}
//手写的从int到enum的转换函数,传入int值,获取对应的枚举值
public static DiskFileOperationTypeEnum valueOf(int value) {
switch (value) {
case 1:
return CLEAN_OLD_DISKFILE;
case 2:
retu