java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Unboxing of'stringRedisTemplate.hasKey(xx)'may produce 'NullPointerException' 警告

解决Unboxing of'stringRedisTemplate.hasKey(xx)'may produce 'NullPointerException' 警告问题

作者:luobingit

文章介绍了在使用`stringRedisTemplate.hasKey(xx)`方法时可能会出现`NullPointerException`警告的原因,并提出了相应的解决方法

IDEA Unboxing of ‘stringRedisTemplate.hasKey(xx)’ may produce ‘NullPointerException’ 警告

闲来无事发现项目里面使用stringRedisTemplate操作redis的代码一直有警告,平时也没怎么在意,然后就顺手处理了一下。

这个警告大致的意思是拆箱时有可能空指针异常。

具体如下

看hasKey源码可知

hasKey方法返回一个对象包装器,但在if条件内使用它隐式将其取消装箱(即,将调用结果转换为原始值)。

如果由于某种原因该hasKey方法可能返回null,则会出现错误。

为了安全起见

可以按以下步骤检查密钥是否存在:

if (Boolean.TRUE.equals(redisTemplate.hasKey(XXXX)) {
}

redisTemplate或stringRedisTemplate其他返回包装类型Boolean的同理,比如下面这个:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文