我写了一个方法.我想基于类返回员工类型.
我在想这里是否有更好的标准实施方案.
public static EmployeeType decideEmployeeType(String className)
{
if(className.equalsIgnoreCase("A") || className.equalsIgnoreCase("1"))
{
return EmployeeType.ADMIN;
}
else if(className.equalsIgnoreCase("S") || className.equalsIgnoreCase("2"))
{
return EmployeeType.SERVICE;
}
else
{
//throw exception
}
}
Run Code Online (Sandbox Code Playgroud)
有人建议,更好的方法.
我可以给出一个代码示例,通过更改常量可以轻松扩展,而不会妨碍业务逻辑:
private static HashMap<String, EmployeeType> employeeTypeTranslations = new HashMap<String,EmployeeType> () {{
put("a",EmployeeType.ADMIN);
put("s",EmployeeType.SERVICE);
put("1",EmployeeType.ADMIN);
put("2",EmployeeType.SERVICE);
}};
public static EmployeeType decideEmployeeType(String class) {
employeeTypeTranslations.get(class.toLowerCase());
}
Run Code Online (Sandbox Code Playgroud)
这允许您将来可以将此映射外部化为属性文件或XML或其他内容.