有人会帮助我了解如何在此处获得空指针异常吗?
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
Collection<GrantedAuthority> grantedAuthorityCollection = new ArrayList<>();
Collection<UserRole> userRoleCollection = user.getUserRoleList();
if(userRoleCollection != null) {
if (userDetailsService.getAuthorities(userRoleCollection) != null) {
// ^^^ it occurs at the line above ^^^
grantedAuthorityCollection.addAll(userDetailsService.getAuthorities(userRoleCollection));
}
}
return grantedAuthorityCollection;
}
这是我在运行时得到的:
java.lang.NullPointerException: null
at ua.tucha.passpass.web.security.UserDetails.getAuthorities(UserDetails.java:31)
at org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider.createSuccessAuthentication(AbstractUserDetailsAuthenticationProvider.java:225)
at org.springframework.security.authentication.dao.DaoAuthenticationProvider.createSuccessAuthentication(DaoAuthenticationProvider.java:137)
at org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:197)
...
怎么可能?我只是确定null
中是否没有userRoleCollection
,如果有null
,下一条指令就不会执行,是吗?
非常感谢您的帮助。