Java:空检查后出现空指针异常

时间:2019-03-20 16:06:12

标签: java nullpointerexception

有人会帮助我了解如何在此处获得空指针异常吗?

    @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,下一条指令就不会执行,是吗?

非常感谢您的帮助。

0 个答案:

没有答案