一次很简单的代码优化--lamda的使用与不用

这里我使用了4次lamda来完成一项很简单的功能
//将F40USD,F40SGD,转换为F40EUR
因为F40EUR需要作为最终的输出

不难看出,下面代码最大的问题就是挤在一堆,没有层次感,这也是lamda表达式的特点,大多数时候是优点(快)。
处理ifelse比较多的时候就不要去用了

 	newError=error.stream().filter(s -> !t0CurrencySymbol.contains(s.substring(0,3))).collect(Collectors.toList());
      error= error.stream().filter(s -> t0CurrencySymbol.contains(s.substring(0,3))).collect(Collectors.toList());
      error.forEach(c->cfdError.add(c.substring(0,3)));
      Set<String> cfdErrorAdd = t0Currency.stream().filter(s -> cfdError.contains(s.substring(0, 3))).collect(Collectors.toSet());
      newError.addAll(cfdErrorAdd);

在优化后
很简单朴素的代码,可能我在之后学习力会

for (String s : error) {
        if(!t0CurrencySymbol.contains(s.substring(0,3))){
          newError.add(s);
        }else {
          for (String s1 : t0Currency) {
            if(s.substring(0,3).equals(s1.substring(0,3))){
              newError.add(s1);
            }
          }
        }
      }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值