java.util.HashMap$Values cannot be cast to java.ut问题怎么解决

发布时间:2023-03-22 09:26:32 作者:iii
来源:亿速云 阅读:206

本篇内容介绍了“java.util.HashMap$Values cannot be cast to java.ut问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

java.util.HashMap$Values cannot be cast to java.util.List

想获取map的值集合,将之转换为List

1.HashMap<String, Map> map1 = new HashMap<>();

获取值集合:map1.values()

默认返回值是 Collection

想把它转换为List,直接用了强转 List values = (List) map1.values();

然后幸运的就报错了。尴尬。

2.Collection转list两种方法

ArrayList的构造器:

ArrayList<Map> results = new ArrayList<>(map1.values());

先转数组在转List

List<T> list=(List<T>) Arrays.asList(map1.values().toArray());

java.util.LinkedHashMap cannot be cast to java.lang.String

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

问题

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

就好比把一个不确定的类型强制转换为String他坑定报错。

java.util.HashMap$Values cannot be cast to java.ut问题怎么解决

正确的解决方案

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

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

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

java.util.HashMap$Values cannot be cast to java.ut问题怎么解决

“java.util.HashMap$Values cannot be cast to java.ut问题怎么解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. JAVA外观模式怎么实现
  2. Java中的AQS同步队列问题怎么解决

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:怎么用Python实现岗位分析报告

下一篇:怎么用Python批量删除或移动指定图像

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》