我目前以这种方式返回我的内容:
Optional<String> data = Optional.of("bla");
Optional<ResponseEntity<?>> response = data.map(ResponseEntity::ok);
return response.orElse(ResponseEntity::noContent);
有没有一种方法可以将map
和orElse
组合起来,而不必先将它们保存到变量中?
(有点像这样,但没有演员问题(
Optional<String> data = Optional.of("bla");
return data.map(ResponseEntity::ok) // Type: ResponseEntity<String>
.orElse(ResponseEntity::noContent); // Type: ResponseEntity<?> => Cast Error
这是一个类似的问题
Optional.of<Object>("bla").orElse(2);
但我不知道如何使用地图
Optional.of("bla")
.<ResponseEntity<?>>map(ResponseEntity::ok)
.orElse(ResponseEntity::noContent);
不起作用
return data.map(ResponseEntity::ok(.orElseGet(((->ResponseEntity.noContent((.build(((;
你能准确描述你的问题是什么吗。
你就不能这样做吗:
return Optional.of("bla")
.map(ResponseEntity::ok)
.orElse(ResponseEntity::noContent);