空我有一個函數斯卡拉 - 不使用的情況下聲明後衛
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。
你爲什麼要避免空檢查比較的任何原因? –