java - 如何在 lambda 中使用 return 关键字
问题描述
我有可选的。我想编写听起来如下的代码:如果存在对象,则将他从 Optional 转换为 Object 并与他一起执行剩余的代码。如果不存在,则返回代码 404。我尝试这样做但不工作。我不知道如何在这里使用 return 语句。
Object objectFromOptional = optional.stream()
.findFirst().orElse(return ResponseEntity.notFound().build());
解决方案
不需要return
关键字,您可以使用:
Object objectFromOptional = optional.stream()
.findFirst()
.orElse(ResponseEntity.notFound().build());
编辑
OP评论后,建议的解决方案可以是:
private static final ResponseEntity<Object> notFound = ResponseEntity.notFound().build();
...
Object objectFromOptional = optional
.orElse(notFound);
或者如评论中所述,您可以使用orElseGet
这样的供应商:
Object objectFromOptional = optional
.orElseGet(() -> ResponseEntity.notFound().build());
推荐阅读
- python - matplotlib 中的 ImportError。无法导入名称“_c_internal_utils”
- java - 从具有所有 java 依赖项的 JavaFX 文件 Maven 创建一个 .jar
- database - 导入到 phpMyAdmin
- r - 范围字符串到单个拆分
- python - 将索引为数组的 3d numpy 数组切片并重塑
- python - 使用 AWS Lambda 从 HTML 创建 PDF 并使用 Python 使用 S3 存储桶中的 imgs
- python - 尽管尺寸正确,但 Numpy 不会乘以矩阵
- c# - 已部署的 ASP.NET Core MVC 应用程序的运行时错误;在 VS '19 中调试期间不会发生
- node.js - Express:4.17:将变量传递给下一个函数返回未定义(中间件)
- mysql - 获取第二列中所有行的总和到第三列