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

如何借助Optional更简洁地为变量赋值?避免额外Optional变量

优化方案

可以利用Java 8+ Optional的链式API和三元运算符简化代码,全程仅需一个变量,完全省去中间的Optional变量:

Organization org = organizationRepository.findById(
    request.getOrgId() != null ? request.getOrgId() : DEFAULT_ORG
).orElseThrow(() -> new ClientException("Org not found"));

简化逻辑说明:

  • 用三元运算符直接确定查询ID,替代原有的if-else分支赋值逻辑
  • 调用findById后链式调用orElseThrow:当查询结果为空时自动抛出指定异常,无需手动判断isPresent()再调用get()
  • 仅需声明一个org变量,彻底消除额外的optionalOrg变量

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 13:57:01