源码
public enum CauseEnum {
CAUSE01("CAUSE-01", "商家订单量少"),
CAUSE02("CAUSE-02", "商家联系方式错误"),
CAUSE03("CAUSE-03", "商家不是本网点客户"),
CAUSE04("CAUSE-04", "黑名单商家"),
CAUSE05("CAUSE-05", "商家自己要求取消审核,放弃使用"),
CAUSE06("CAUSE-06", "商家重复提交"),
CAUSE07("CAUSE-07", "商家地址错误"),
CAUSE08("CAUSE-08", "该网点不支持电子面单"),
CAUSE09("CAUSE-09", "网点和商家没有达成业务合作");
private String code; //code
private String desc; //中文描述
CauseEnum(String code, String desc) {
this.code = code;
this.desc = desc;
}
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;
}
public static String getNameByCode(String code) {
if (null == code || "".equals(code) || "null".equals(code)) {
return null;
}
for (CauseEnum causeEnum : CauseEnum.values()) {
if (code.equals(causeEnum.getCode())) {
return causeEnum.getDesc();
}
}
return null;
}
public static String getNameByDesc(String desc) {
if (null == desc || "".equals(desc) || "null".equals(desc)) {
return null;
}
for (CauseEnum causeEnum : CauseEnum.values()) {
if (desc.equals(causeEnum.getDesc())) {
return causeEnum.getCode();
}
}
return null;
}
}
代码测试
public static void main(String[] args) {
System.out.println(getNameByDesc("商家联系方式错误"));
System.out.println(getNameByCode("CAUSE-06"));
System.out.println("-----------------------");
// java.lang.Enum的valueOf方法,返回枚举类对象
CauseEnum en= CauseEnum.valueOf("CAUSE04");
System.out.println(en.code);
System.out.println(en.desc);
}
- 运行结果
CAUSE-02
商家重复提交
-----------------------
CAUSE-04
黑名单商家
规范
-
枚举类名建议带上Enum后缀,枚举成员名称需要全大写,单词间用下划线隔开。 说明:枚举其实就是特殊的类,域成员均为常量,且构造方法被默认强制是私有。 正例:枚举名字为ProcessStatusEnum的成员名称:SUCCESS / UNKNOWN_REASON。
-
举例说明
package com.sankuai.inf.leaf.common;
public enum Status {
SUCCESS,
EXCEPTION
}