使用ImmutableMap简化语句

项目实战

最近接了一个出行权益的需求,回调的状态有十几种,需要转换为进行中,取消,已完成几种状态进行订单状态的展示,使用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代码精简之道 --

https://mp.weixin.qq.com/s?__biz=MzI3NzE0NjcwMg==&mid=2650128788&idx=3&sn=14f64ff7bcd86de55eff73d1a60bcbd6&chksm=f36bdcb5c41c55a3805735ecb1e34f2e70ed0d08d6f585014c3fd51d2b09b198f0d494bd7ea8&mpshare=1&scene=1&srcid=0706x2lT2timehrzJRWQhHh3&sharer_sharetime=1593999060127&sharer_shareid=9b337abfae0d9f4cf413eaef9c37c2f8&key=bfb0819a7cc666de68641c18144bc56d9c088075df93061f2333f840c35045f774a86d260f0e64ec9aee38f7c0d04f58e6b15c518ca93f5f0cc85c09006ca1116811a2c900ced2ef9d4f9b0543cdef9e&ascene=1&uin=ODcwOTk0OTEy&devicetype=Windows+10&version=62080085&lang=zh_CN&exportkey=ASCFet8zz7mav2eTa4Ft0WU%3D&pass_ticket=Nj%2FntnbyzqGl45ZBGD%2BbgoDHv5nn01i7e4ZkGxwS0w8RK3OceD8QDE4M6%2F9FCQYR

原文地址:https://www.cnblogs.com/liaowenhui/p/13623894.html