很多业务场景下需要多分支语句进行条件判断,导致代码显得很臃肿,使用Switch case
也可以解决对应问题,但是研究发现,一般分支低于5个的使用if -else
结构效率比switch case
效率要高,但是!不管是多少分支,我们都可以使用Map
这个结构替换掉对应复杂的分支。
public static void main(String[] args) {
Map<String, String> processFlagMap = new HashMap<String, String>();
initMap(processFlagMap);
processFlagByMap("FLAG_B", processFlagMap);
}
private static void initMap(Map<String, String> processFlagMap) {
processFlagMap.put("FLAG_A", "do A1");
processFlagMap.put("FLAG_B", "do A2");
processFlagMap.put("FLAG_C", "do A3");
processFlagMap.put("FLAG_D", "do A4");
processFlagMap.put("FLAG_E", "do A5");
}
private static void processFlagByMap(String flagName, Map<String, String> processFlagMap) {
System.out.println( processFlagMap.get(flagName));
}