You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Lambda表达式实现等效于if-else的空值判断逻辑?

使用Optional+Lambda实现等效if-else逻辑

下面是对应原if-else逻辑的代码实现:

return Optional.ofNullable(list)
               .map(l -> StringUtils.join(l, ","))
               .orElse(null);

步骤解释:

  • Optional.ofNullable(list):将可能为null的list包装为Optional对象,这一步你已经完成,它会自动处理list为null的情况,生成一个空的Optional实例。
  • .map(l -> StringUtils.join(l, ",")):当Optional中的list非空时,执行Lambda表达式里的拼接操作,把List转换为逗号分隔的字符串;如果list是null,这个map操作会被跳过,Optional保持空状态。
  • .orElse(null):最终判断Optional状态——如果是空(对应原逻辑中list == null),返回null;如果非空,返回map处理后的拼接字符串,完全匹配原if-else的逻辑。

另外,也可以用更简洁的Lambda写法(本质和上面一致):

return Optional.ofNullable(list)
               .map(list -> StringUtils.join(list, ","))
               .orElse(null);

内容的提问来源于stack exchange,提问作者OptimusPrime98

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 16:32:00