关于Redis使用Hash数据结构报错:java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String
java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String
·
1、报错背景:
//伪代码
@Autowired
private StringRedisTemplate redisTemplate;
public void addd(Request request) {
Long id = request.getId();
BoundHashOperations<String, Object, Object> HashData =
redisTemplate.boundHashOps(cartKey);
HashData.get(id); //执行这一行时报错
}
2、错误信息:
3、分析问题
错误: java.lang.Long cannot be cast to java.lang.String
翻译:java.lang.Long不能强制转换为java.lang.String
可知 HashData.get()中传递的参数不可谓Long类型,且Long类型无法转为String类型。
4、解决方案
--提前将Long类型转为String类型
Long.toString(id)
希望对你有帮助,谢谢!

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)