Scala:过滤具有选项字段的案例类列表



我有一个List[A],其中A是一个具有许多字段的案例类,xy都是从中Option[double]的。我正在尝试根据以下两个条件过滤此列表:

val resFiltered = res.filter(c => (c.x.getOrElse(num) != num) && 
                                  (c.y.getOrElse(num) != num)
                             )

其中num实际上是一个随机数。我基本上正在过滤列表以摆脱xy字段为空A。有没有更优雅的方法呢?谢谢。

根据我的搜索,这种扁平化方法可能很有用,但它不支持字段。

你说xyOption[Double]所以它们不能为空。看起来这就是您的代码所做的...

.filter(c => c.x.nonEmpty || c.y.nonEmpty)

。但是您声明如果要"摆脱"任一字段...",这可能意味着应该使用&&而不是||

最新更新