java - 用于理解的 Java
问题描述
在 Scala 中,我可以编写一个像这样的简短方法:
def xy(
maybeX: Option[String],
maybeY: Option[String]): Option[String] = {
for {
x <- maybeX
y <- maybeY
} yield {
s"X: $x Y: $y"
}
}
当涉及到两个或多个Optional<>
变量时,Java 是否有类似的东西?
解决方案
这将是适当的替代方案:
Optional<String> maybeXY = maybeX.flatMap(x -> maybeY.map(y -> x + y));
scala
for 理解只是map
,flatMap
和filter
调用的语法糖。
推荐阅读
- java - Unity AndroidJavaObject not working without showing errors
- javascript - 使用通用函数来处理用户在 REACT 中单击时多个基于数组的相似状态的变化
- javascript - CSS Grid 容器高度覆盖其他内容
- ruby-on-rails - 使用acts_as_taggable时如何限制tag_counts个项目
- spring-boot - OpenApi - 有没有办法在使用 springdoc-openapi-maven-plugin 生成的合同中使用带有鉴别器部分的 ComposedSchema?
- matlab - 单元格与 Matlab 中的数组有何不同?
- c# - 在 c# winform 中展开/折叠功能区的问题
- javascript - 无法为反应 js 引导程序居中和空间卡组
- javascript - 为什么 .helper 函数在 Meteor 中不起作用
- php - 数组排序给出错误错误:不能使用组织\系统策略对象类型的对象作为数组“