Scala Spring检查null Snippet

时间:2013-01-15 15:36:25

标签: java scala spring-security

我正在对Java / Scala / Spring项目进行大规模的Java / Spring重写。所以我只想检查这是否是正确的事情。

我从SecuritContext获取Spring用户详细信息。对于那些已登录和未登录的代码,将调用以下代码。我想检查null的检查是否正确。请指教,因为检查这样的空值感觉不对。

private def getUserDetails : Option[UserDetails] = {
  if(userDetails == null && securityContextFacade.getSecurityContext.getAuthentication != null){
    val details = securityContextFacade.getSecurityContext.getAuthentication.getPrincipal
    userDetails = details.asInstanceOf[UserDetails]
  }
  if(userDetails != null){
    Option(userDetails)
  }
  else{
    None
  }
}

1 个答案:

答案 0 :(得分:3)

没有必要进行后面的检查,因为Option(...)已在内部执行,并且在null的情况下求值为None。所以

if(userDetails != null){
    Option(userDetails)
  }
else{
    None
}

可以写成

Option(userDetails)