枚举 k-v 根据 k 获取 v
示例代码
public enum UploadType {
未知(1,"未知"),
类型2(2,"类型2"),
类型1(3,"类型1");
private int code;
private String desc;
private static Map<Integer, UploadType> map = new HashMap<>();
static {
for (UploadType value : UploadType.values()) {
map.put(value.code, value);
}
}
UploadType(int code, String desc) {
this.code = code;
this.desc = desc;
}
public int getCode() {
return code;
}
public String getDesc() {
return desc;
}
public static UploadType getByCode(Integer code) {
// 注意 NPE 异常
return map.get(code);
}
}
import lombok.Getter;
import java.util.Arrays;
/**
* @description:
* @author: shaoming
* @date: 2022-09-08 15:47
*/
@Getter
public enum RequestReturnCodeEnum {
/**
* http 状态码其它状态 使用 0000 标识
*/
CODE_0000(0000, "其它"),
CODE_1011(1011, "网站连接错误"),
CODE_200(200, "请求成功"),
;
private Integer returnCode;
private String codeDescription;
RequestReturnCodeEnum(Integer returnCode, String codeDescription) {
this.returnCode = returnCode;
this.codeDescription = codeDescription;
}
public static RequestReturnCodeEnum get(Integer returnCode) {
return Arrays.stream(RequestReturnCodeEnum.values())
.filter(t -> t.returnCode.equals(returnCode))
.findFirst()
.orElse(null);
}
}