空我有一个函数斯卡拉 - 不使用的情况下声明后卫
def withEnrichment[T](f: (AccountEnrichment) => Option[T] Or ErrorMessage) =
(Option(xa.getEnrichment) match {
case None => Good(None)
case Some(e: AccountEnrichment) => f(e)
case _ => Bad("not an AccountEnrichment")})
badMap {"enrichment: " + _}
我需要保护添加到它,因此它会忽略特定类型的账户。
case Some(g: AccountEnrichment)
if (g.getAccount != null && g.getAccount.getId == "BADACCOUNT")
=> Bad("account: id cannot be BADACCOUNT")
这是有效的,但是我希望不使用null关键字。 g.getAccount来自Java库,可以并且将为null。
你为什么要避免空检查比较的任何原因? –