我不明白什么时候 forAll 处理 None 值。
def areTheyEqual(x: Option[String], y: String) = {
if (x.forall(_ == y)) {
true
} else {
false
}
}
当我调用函数时:
areTheyEqual(None, "hello")
this 返回 true,当我期望 this 为 false 时,因为它们不相等。请帮忙。为什么会这样?
编辑:
为了解决这个问题,我将 if 语句更改为:
if (x.nonEmpty && x.forall(_ == y))
但我仍然想知道为什么它在没有x.nonEmpty
条件的情况下返回 true。