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的同理,比如下面这个:

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论