项目实战

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

使用ImmutableMap简化语句的更多相关文章

  1. shell之if简化语句

    最常用的简化if语句: && 如果是“前面”,则“后面” [ -f /var/run/dhcpd.pid ] && rm /var/run/dhcpd.pid 检查 文 ...

  2. 一个sql很多个not like的简化语句

    如: select * from table where `zongbu` not like '%北京%' and `zongbu` not like '%上海%' and `zongbu` not ...

  3. 【转载】shell编程——if语句 if -z -n -f -eq -ne -lt

    shell编程中条件表达式的使用 if  条件then Commandelse Commandfi                              别忘了这个结尾 If语句忘了结尾fites ...

  4. shell编程——if语句 if -z -n -f -eq -ne -lt

    if  条件then Commandelse Commandfi                              别忘了这个结尾 If语句忘了结尾fitest.sh: line 14: sy ...

  5. shell编程——if语句【转载】

    (2)shell编程——if语句_macg_新浪博客http://blog.sina.com.cn/s/blog_6151984a0100ekl6.html shell编程——if语句转载 if 语句 ...

  6. shell编程——if语句

    if 语句格式 if  条件 then  Command else  Command fi                              别忘了这个结尾 If语句忘了结尾fi test.s ...

  7. Atitit.mysql oracle with as模式临时表模式 CTE 语句的使用,减少子查询的结构性 mssql sql server..

    Atitit.mysql  oracle with as模式临时表模式 CTE 语句的使用,减少子查询的结构性 mssql sql server.. 1. with ... as (...) 在mys ...

  8. Shell学习:if语句 if -z -n -f -eq -ne -lt

    if  条件then Commandelse Commandfi                              别忘了这个结尾 If语句忘了结尾fitest.sh: line 14: sy ...

  9. [Java编程思想-学习笔记]第3章 操作符

    3.1  更简单的打印语句 学习编程语言的通许遇到的第一个程序无非打印"Hello, world"了,然而在Java中要写成 System.out.println("He ...

随机推荐

  1. 团队作业4-Day2

    团队作业4-Day2 项目git地址 1. 站立式会议 2. 项目燃尽图 3. 适当的项目截图(部分) 4. 代码/文档签入记录(部分) 5. 每人每日总结 吴梓华:今日进行了小程序与网页代码编写的区 ...

  2. AcWing 330. 估算

    大型补档计划 题目链接 若 \(K = 1\),显然,\(B[i]\) 取 \(A\) 序列的中位数时最优. 考虑扩展,我们只需要把 \(A\) 分成 \(K\) 段,每段内, \(B\) 最优的取值 ...

  3. 小白都看得懂的Javadoc上手教程

    Javadoc是什么 官方回答: Javadoc is a tool for generating API documentation in HTML format from doc comments ...

  4. 【开源】基于 SpringBoot 的 web kettle 在线采集平台

    kettle-scheduler-boot 开发计划 序号 项目 状态 优先级 1 在线管理,编辑kettle脚本 紧急 2 通过源码实现集群,多线程执行任务 紧急 2 重构jpa部分,改为mybat ...

  5. springmvc使用路径变量后再进行页面跳转会出现路径错误问题

    学习<Servlet.JSP和SpringMVC学习指南>遇到的一个问题,记录下. 项目代码 现象 @RequestMapping(value = "/book_edit/{id ...

  6. SpringDataJPA 多对多的查询

     主要的结构目录: 创建Role.java package cn.itcast.domain; import javax.persistence.*; import java.util.HashSet ...

  7. MySQL:判断逗号分隔的字符串中是否包含某个字符串 && 如何在一个以逗号分隔的列表中的一个字段中连接MySQL中的多对多关系中的数据

    需求:      sql语句中,判断以逗号分隔的字符串中是否包含某个特定字符串,类似于判断一个数组中是否包含某一个元素, 例如:判断 'a,b,c,d,e,f,g' 中是否包含 'a',sql语句如何 ...

  8. C# 递归算法获取下级子级 2种方法

    第一种 直接实体添加Children 实体类 public class DepartmentItem { /// <summary> /// 部门Id /// </summary&g ...

  9. 使用CDN后如何配置Apache使其记录访客真实IP

    今天想看看哪些地区的人访问过我的网站,于是打开Apache网站响应日志,把访客IP复制到百度,发现搜到的全部都是我是用的CDN的节点IP,真实的访客IP并没有被记录. 如图所示,上面的103.45.7 ...

  10. 各公有云1核1G的云主机跑分对比

    本文主要测评华为云.腾讯云.阿里云 1H1G服务器的性能,为保证结果有效性,使用环境如下: 1.1H1G Ubuntu 16.04_x64 2.Unixbench Version 5.1.3,详细信息 ...