Java故事一则 2024-12-17 16:35 ```java @Test void test0() { long lastId = 0L; lastId = redisCache.getCacheObject(RedisConstant.API_OPERATION_LOG_LAST_ID + "123"); System.out.println("lastId = " + lastId); } ``` 这个代码一直报redisCache.getCacheObject这一行空指针异常,但是换成这样: ```java @Test void test0() { String verifyCodeInfo = redisCache.getCacheObject(RedisConstant.LOGIN_PHONE_VERIFY_CODE + "159444112221"); System.out.println("verifyCodeInfo = " + verifyCodeInfo); } ``` 就正常运行了,输出verifyCodeInfo = null。redis里开始是啥数据也没有的。 </br> </br> </br> </br> </br> </br> </br> </br> </br> </br> </br> </br> </br> </br> </br> </br> </br> </br> </br> </br> </br> </br> </br> </br> </br> </br> </br> </br> 搞了好一会才反应过来,原来redisCache.getCacheObject返回null的时候,把null赋给long类型,没法强制类型转换,导致NPE。。。 只需要把`long lastId = 0L;`改为`Long lastId = 0L;`即可。 --END--
发表评论