不要再用连环if了!枚举Enum轻松拿捏条件判断。
现在的业务场景是:根据条件查询客户的状态
使用if的情景:
public class enumTest {
public static void main(String[] args) {
/**
* 业务是查询当前客户的状态
*/
String param = "1"; //前端传来的参数
if(param.equals("1")){
System.out.println("客户的状态为:新进客户");
}else if(param.equals("2")){
System.out.println("客户的状态为:跟进客户");
}else if(param.equals("3")){
System.out.println("客户的状态为:完成客户");
}else{
System.out.println("该客户没有状态");
}
}
}
使用枚举:
先新建客户状态的枚举
public enum clientStatusEnum {
NEWCLIENT("1","新进客户"),
MIDCLIENT("2","跟进客户"),
SUCCLIENT("3","完成客户");
private final String type;
private final Object enumObject;
clientStatusEnum(String type, Object enumObject) {
this.type = type;
this.enumObject = enumObject;
}
public String getType() {
return type;
}
public Object getEnumObject() {
return enumObject;
}
// 根据输入的 code 返回对应的描述
public static Object getObjectByStatus(String type) {
for (clientStatusEnum client : clientStatusEnum.values()) {
if (client.getType().equals(type)) {
return client.getEnumObject();
}
}
// 如果没有匹配的 code,返回默认值或抛出异常
return "未知状态客户";
}
}
使用枚举enum的情景:
public class enumTest {
public static void main(String[] args) {
/**
* 业务是查询当前客户的状态
*/
String param = "1"; //前端传来的参数
Object objectByStatus = clientStatusEnum.getObjectByStatus(param);
System.out.println("客户的状态为:"+objectByStatus);
}
}
瞬间舒服~