温馨提示×

温馨提示×

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

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

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

发布时间:2023-03-22 09:26:32 来源:亿速云 阅读:323 作者:iii 栏目:开发技术

本篇内容介绍了“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问题怎么解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

    向AI问一下细节

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

    AI