枚举类的使用

2023/6/12

# 枚举类

# 1.统一返回状态码的使用

public interface ResultCodeInterface {

    String getCode();

    String getMessage();
}

public enum CalculateResultCode implements ResultCodeInterface {

    READ_ERROR("A221001","查询失败"),
    PARAM_ERROR("A221002","参数错误"),
    PER_PAGE_SIZE_ERROR("A221003","参数校验错误,分页参数页大小不能大于500"),
    NAME_TOO_LONG("A221004","参数校验错误,名称不能超过50字符"),
    UPDATE_ERROR("A221005","修改失败"),
    IMPORT_ERROR("A221006","文件上传失败"),
    RECORD_ERROR("A221007","关联失败"),
    DELETE_ERROR("A221007","删除失败"),
    INSERT_ERROR("A221008","新增失败"),
    DOWNLOAD_ERROR("A221008","下载失败"),
    CACHE_ERROR("A221009","请勿重复提交或者操作过于频繁!");

    private final String code;
    private final String message;

    private CalculateResultCode(String code, String message) {
        this.code = code;
        this.message = message;
    }

    public String getCode() {
        return this.code;
    }

    public String getMessage() {
        return this.message;
    }
}

统一返回状态码
throw new ResultException(CalculateResultCode.CALCULATE_NAME_EXIST);

# 2 枚举类型使用例子

// 定义一个枚举类型
enum Day {
    SUNDAY,
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY
}

public class EnumExample {
    public static void main(String[] args) {
        // 使用枚举常量
        Day today = Day.WEDNESDAY;
    // 打印枚举常量
    System.out.println("Today is " + today);
    
    // 使用switch语句处理枚举常量
    switch (today) {
        case MONDAY:
            System.out.println("It's Monday.");
            break;
        case TUESDAY:
            System.out.println("It's Tuesday.");
            break;
        case WEDNESDAY:
            System.out.println("It's Wednesday.");
            break;
        case THURSDAY:
            System.out.println("It's Thursday.");
            break;
        case FRIDAY:
            System.out.println("It's Friday.");
            break;
        case SATURDAY:
            System.out.println("It's Saturday.");
            break;
        case SUNDAY:
            System.out.println("It's Sunday.");
            break;
    }
}
}