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

Java8链式调用Map结合Optional如何获取Set并为空时返回null

解决方案

你可以在现有Optional链式调用的末尾追加orElse(null)方法,即可得到Set<String>类型的返回值,且满足中间任何一步为空时最终返回null的要求,完整代码如下:

Set<String> result = Optional.ofNullable(method1())
        .map(param -> param.get("A"))
        .map(subMap -> subMap.get("B"))
        .orElse(null);

实现逻辑说明

  • 当method1()返回null、第一层get("A")返回null、第二层get("B")返回null三种情况任意一种发生时,整个链式调用都会得到Optional.empty对象
  • orElse(null)的作用是:如果当前Optional为Optional.empty,就返回传入的默认值null,否则返回Optional中持有的Set<String>对象

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:45:00