获取到的值不为空,存入对象属性时,报空指针错误

    public TenantAccessToken tenantAccessToken;

    /**
     * 获取token
     * @return
     */
    @Override
    public TenantAccessToken getTenantAccessToken(){
        if (tenantAccessToken == null ||
                tenantAccessToken.getTenantAccessToken() == null ||
                System.currentTimeMillis() - lastUpdateTime >= Long.parseLong(tenantAccessToken.getExpire()) * 1000){
            Map<String, String> token = feiShuApiService.getToken(appId, appSecret);
            String accessToken = token.get("tenant_access_token");
            Assert.checkResponseCode(token.get("code"), token.get("msg"));
            tenantAccessToken.setTenantAccessToken(accessToken);
            tenantAccessToken.setExpire(token.get("expire"));
            lastUpdateTime = System.currentTimeMillis();
        }
        return tenantAccessToken;
    }

原因:

  成员变量 tenantAccessToken 没有进行初始化,tenantAccessToken 本身为 null:即使 accessToken 不为空,如果 tenantAccessToken 对象没有被初始化,那么对它的任何属性访问都会抛出 NullPointerException

posted @ 2024-12-05 11:39  yanhongwen  阅读(32)  评论(0)    收藏  举报