我定义了一个选项:
val names : Option[Seq[String]] = Option(Seq("Bob", "Alice", "Mike"))
names.get.forall(m => Seq("Bob").contains(m))
布尔值=否
但是,我想用getOrElse代替它以避免NPE。以下无效。
names.getOrElse.forall(m => Seq("Bob").contains(m))
错误:value forall不是对象的成员
您可能想要先将map
内部序列Option
转换为布尔值,然后getOrElse
是最终结果,以提供默认的布尔值。
names.map(_.forall(m => Seq("Bob").contains(m))).getOrElse(false)
顺便说一下,内部lambda也可以缩写为:
names.map(_.forall(Seq("Bob").contains)).getOrElse(false)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句