前言
if...else在每一种语言中都存在,但是代码中如果存在大量的if...else语句,就会造成程序的可读性变差,可维护性变差,进而危害整个系统。同样switch...case也会让代码变得冗余,我们称这样的代码有坏代码的味道,为了优化掉系统中的if...else和switch...case,猫叔做了一个系列,研究可替代方案。这一篇我们重点讲解使用java8中的optional和lambda替换方式。
最近在做后台接口开发时,会通过消息系统处理一些常用的配置数据,在消息发送的时候,会通过判断msgType字段,来区分不同的消息类型,具体的代码如下:
public void handle(String msg) {
try {
if (StringUtils.isNotBlank(msg)) {
MsgInfo msgVo = JSON.parseObject(msg, MsgInfo.class);
switch (msgVo.getType()) {
case 0: //模式新建
modNew(msgVo);
break;
case 1: //模式修改
modUpdate(msgVo);
break;
case 2: //模式删除
modDelete(msgVo);
break;
...