日常我们在使用redisTemplate对象操作redis数据的可能会出现java.util.LinkedHashMap cannot be cast to java.lang.String的异常,说的是无法将java.util.LinkedHashMap强制转换为java.lang.String

问题

在获取到redis中数据的时候不要强制转换为某一个java对象,例如下面我获取数据的时候强制转换为了String类型,这种操作当然会报错。就好比把一个不确定的类型强制转换为String他坑定报错。

正确的解决方案

1.获取redis中的数据就使用Objec类型接收数据

2.在使用阿里巴巴fastjson将获取到的Object类型对象转换为json格式字符串,方法:JSON.toJSONString(对象)

3.在将json格式对象转换为你需要的java对象,问题即可迎刃而解。方法:JSON.parseObject(json,要转换的类的字节码)

如上为解决从redis中获取数据出现类型转换异常的解决方案,原理没有深入研究。

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐