原文地址
简易写法
使用@Getter和@AllArgsConstructor代替实例化和get方法,快速移植新的枚举
@Getter
@AllArgsConstructor
public enum CaskStatusEnum {
/**
* normal
*/
NORMAL(0, "normal"),
/**
* deleted
*/
DEL(-1, "deleted"),
;
private final Integer code;
private final String desc;
}
完整功能
@Getter
@AllArgsConstructor
public enum HouseOrientationEnum {
/**
* 北
*/
NORTH(1, "北"),
/**
* 南
*/
SOUTH(2, "南"),
/**
* 东
*/
EAST(3, "东"),
/**
* 西
*/
WEST(4, "西"),
;
private final Integer code;
private final String desc;
public static String getHouseOrientationDesc(int code) {
for (HouseOrientationEnum thisEnum : HouseOrientationEnum.values()) {
if (code == thisEnum.getCode()) {
return thisEnum.desc;
}
}
return "unknown";
}
public static int getHouseOrientationCode(String desc) {
for (HouseOrientationEnum thisEnum : HouseOrientationEnum.values()) {
if (thisEnum.getDesc().equals(desc)) {
return thisEnum.code;
}
}
return 0;
}
}