package com.lunhan.xxx.entity.enums; import java.util.Arrays; import java.util.Objects; /** * 数据变更类型 通用枚举 * @author linliu * @date 2019-01-02 */ public enum EDataChangeType { /** * 新增 */ CREATE("新增", 1), /** * 修改 */ MODIFY("修改", 2), /** * 停用 */ DISABLED("停用", 3), /** * 启用 */ ENABLED("启用", 4), /** * 删除 */ DELETED("删除", 5); private String desc;//枚举描述 private Integer value;//枚举值 public Integer getValue() { return value; } public String getDesc() { return desc; } /** * 构造方法 * @param desc 枚举描述 * @param value 枚举值 */ private EDataChangeType(String desc, Integer value) { this.desc = desc; this.value = value; } /** * 根据值获取枚举 * * @param value 枚举值 * @return */ public static EDataChangeType getByValue(Integer value) { return Arrays.stream(EDataChangeType.values()) .filter(e -> Objects.equals(e.getValue(), value)) .findAny() .orElse(null); } @Override public String toString() { return "EDataChangeType{" + "desc='" + desc + '\'' + ", value=" + value + '}'; } }