获取到的值不为空,存入对象属性时,报空指针错误
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。

浙公网安备 33010602011771号