最近学到一波使用lambda表达式写枚举类,有点秀,这边分享一波~
package com.oa.oa.n.consts;
import java.util.Arrays;
public enum EnumUserErrorCode {
UNEXPECTED_EXCEPTION("030000", "系统预期外异常"),
DB_EXCEPTION("030001", "数据库操作异常"),
BIZ_EXCEPTION("030002", "业务流程异常"),
REPEAT_SUBMIT_EXCEPTION("030501", "幂等校验失败"),
SPECIAL_EXCEPTION("030502", "入参校验失败");
private String code;
private String desc;
EnumUserErrorCode(String code, String desc) {
this.code = code;
this.desc = desc;
}
// 使用lambda表达式获取枚举值
public static EnumUserErrorCode getByCode(final String code) {
return Arrays.stream(values())
.filter(it -> it.getCode().equals(code))
.findFirst()
.orElse(null);
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}