首页 > 其他分享 >获取到的值不为空,存入对象属性时,报空指针错误

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

时间:2024-12-05 11:57:43浏览次数:8  
标签:lastUpdateTime accessToken get 存入 token tenantAccessToken 报空 null 指针

    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

标签:lastUpdateTime,accessToken,get,存入,token,tenantAccessToken,报空,null,指针
From: https://www.cnblogs.com/yanhongwen/p/18588196

相关文章

  • 【双指针进阶】深入理解双指针作用——滑动窗口题型带你一网打尽!
    文章目录长度最小的子数组无重复字符的最长子串最大连续1的个数|||将X减到0的最小操作数水果成篮找到字符串中所有字母的异位词串联所有单词的子串最小覆盖子串长度最小的子数组解题思路:使用两个指针begin和end构建滑动窗口,begin表示窗口的左边界,end表示右边界。......
  • C语言基础知识:指针(4)
        本期内容,将继续介绍C语言中的指针,带大家理解一些指针变量的特点,以及二位数组传参的本质和转移表的相关知识。    一.字符指针变量      之前我们介绍过一种指针类型为字符指针:char*。它可以存放字符的地址,解引用字符指针就能得到这个字符: ......
  • 不要用指针指向局部变量
    #include<stdio.h>intmain(){int*p=NULL;inti=1;switch(1){case1:{p=&i;printf("Insideswitch-Addressofi:%p,Valueofp:%p\n",(void*)&i,(void*)p);......
  • 初识C语言|笑谈函数指针与数组
    C语言函数指针和函数指针数组:代码世界的“神秘宝藏” 家人们,今天咱来唠唠C语言里超“哇塞”的函数指针和函数指针数组,这俩可堪称代码宇宙中的“神秘宝藏”,一旦掌握,那编程水平直接“起飞”,在代码江湖中“大杀四方”都不是事儿。 先说说函数指针,这玩意儿就像是给函数定......
  • 指针(上)
    目录内存和地址指针变量和地址取地址(&)解引用(*)大小类型意义const修饰const修饰变量const修饰指针指针运算指针+-整数指针-指针指针的关系运算野指针概念成因避免assert断言指针的使用strlen的模拟实现传值调用和传址调用指针和数组特殊情况指针访问......
  • 指针的进阶2
    函数指针数组形式:int(*pa[2])();用途:作为转移表;示例如下:第一种情况为不使用函数指针数组通过switch语句,略显繁多;第二种情况为通过函数指针数组存放的函数地址调用多个函数。指向函数指针数组的指针意思为一个指针指向一个数组,该数组的所有元素都为函数指针回调函......
  • 指针的进阶
    指针的主题,我们在初级阶段的《指针》章节已经接触过了,我们知道了指针的概念:1.指针就是个变量,用来存放地址,地址唯一标识一块内存空间。2.指针的大小是固定的4/8个字节(32位平台/64位平台)。3.指针是有类型,指针的类型决定了指针的+-整数的步长,指针解引......
  • 16、指针
    指针是C语言编程灵魂,但是也不要神话它,掌握住指针的实质很重要。1、指针地址空间        指针:指针变量 用来存储内存地址编号。        地址:内存会按照字节进行编号,一个字节就有一个编号。                  一般地址表示用十六进制 ......
  • 对指针的理解(一)
    sizeof一个运算符,会给出某个类型或变量在内存中所占据的字节数sizeof(int) 代表int在内存中占据了几个字节sizeof(i)变量i在内存中占据了几个字节例子inta=1;printf("%d",sizeof(int));printf("%d",sizeof(a));printf("%d",sizeof(double));输出448说明整形in......
  • 实验五 C语言指针应用编程
    实验五C语言指针应用编程实验任务1——数组求最大最小值#include<stdio.h>#defineN5voidinput(intx[],intn);voidoutput(intx[],intn);voidfind_min_max(intx[],intn,int*pmin,int*pmax);intmain(){ inta[N]; intmin,max; printf("录入%d个数......