前言
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;
...
default:
log.info("消息类型不对,不处理消息,message=" + msg);

本文探讨了如何使用Java8的Optional和Lambda表达式来优化和替换传统if...else和switch...case语句,以提高代码的可读性和可维护性。通过举例说明了表驱动法和Optional判空在处理条件判断时的应用,以减少代码冗余。
最低0.47元/天 解锁文章
529

被折叠的 条评论
为什么被折叠?



