项目实战
最近接了一个出行权益的需求,回调的状态有十几种,需要转换为进行中,取消,已完成几种状态进行订单状态的展示,使用ImmutableMap可以简化语句,替代使用if-else 语句或者switch 语句。
ImmutableMap介绍
其中immutable[ɪˈmjuːtəbl],adj. 不变的;不可变的;不能变的。
使用场景
对于映射关系的 if-else 语句或者switch 语句,可以用Map来简化。
示例展示
使用switch
1 public static String getBiologyClass(String name) { 2 switch (name) { 3 case "dog" : 4 return "animal"; 5 case "cat" : 6 return "animal"; 7 case "lavender" : 8 return "plant"; 9 ... 10 default : 11 return null; 12 } 13 }
使用ImmutableMap精简
1 private static final Map<String, String> BIOLOGY_CLASS_MAP 2 = ImmutableMap.<String, String>builder() 3 .put("dog", "animal") 4 .put("cat", "animal") 5 .put("lavender", "plant") 6 ... 7 .build(); 8 public static String getBiologyClass(String name) { 9 return BIOLOGY_CLASS_MAP.get(name); 10 }
写法
好文
Java代码精简之道 --