使用HashMap的values()方法返回的值转换为List时遇到错误

简介: 使用HashMap的values()方法返回的值转换为List时遇到错误

📢📢📢📣📣📣

哈喽!大家好,我是小小开发者,今天给大家分享一个在测试项目中遇到的问题,是Java中很基础的技术点,使用HashMap的values()方法转List遇到的问题。

✨个人博客:https://blog.csdn.net/weixin_43759352

✨公众号:【SimpleMemory】✨

❤️❤️❤️如果有对【后端技术】感兴趣的大佬们,欢迎关注!!!❤️❤️❤️

在项目实际开发过程中,常常遇到使用HashMap的values()方法返回List的场景;

常常看到下面使用强转的写法:

Map<Integer, String> map = new HashMap<>();
 map.put(1, "Apple");
 map.put(2, "Banana");
 map.put(3, "Orange");
 ArrayList<String> values =(ArrayList) map.values();
 System.out.println("values = " + values);

上面的写法经过运行发现,出现报错:

Exception in thread "main" java.lang.ClassCastException: java.util.HashMap$Values cannot be cast to java.util.ArrayList
    at com.simplememory.xxkfz.doc.HashMapToListExample.main(HashMapToListExample.java:19)

在Java中,如果你尝试将HashMap的values()方法返回的值转换为List时遇到错误,可能是因为类型不匹配。
HashMap的values()方法返回一个Collection类型的视图,该视图包含HashMap中所有的值。要将它转换为List,可以使用ArrayList的构造函数来创建一个新的ArrayList并将该视图作为参数传递进去。

正确的写法:

ArrayList<String> results = new ArrayList<>(map.values());
如果这篇【文章】对您有帮助,希望大家点赞、评论、关注、收藏;如果对【后端技术】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 公众号【SimpleMemory】❤️❤️❤️,将会继续给大家带来【收获与惊喜】💕💕!
相关文章
|
3月前
|
索引
ArrayList集合常用方法,.set可以用来生成图片和赋值命名,array.remove(1),array.set(1,“xxxx”)可以修改指定位置,array.size可以获取元素的个数
ArrayList集合常用方法,.set可以用来生成图片和赋值命名,array.remove(1),array.set(1,“xxxx”)可以修改指定位置,array.size可以获取元素的个数
|
5月前
|
前端开发 数据库
返回参数不用实体类,用map返。resultType=“Map“,以及使用map不返回空的值解决办法,
返回参数不用实体类,用map返。resultType=“Map“,以及使用map不返回空的值解决办法,
102 1
|
5月前
|
前端开发 Java 测试技术
把List<对象>转变<String,List<对象>>形式,k为判断的值,v为k重复的数据。
把List<对象>转变<String,List<对象>>形式,k为判断的值,v为k重复的数据。
31 0
|
JavaScript
ES6对String字符串、Array数组、Number数字、Object对象 类型做了哪些升级优化
ES6对String字符串、Array数组、Number数字、Object对象 类型做了哪些升级优化
100 0
Object转换List
Object转换List「Map「String,Object」」
154 0
|
存储 Java
从数组当做map的key引发的思考
从数组当做map的key引发的思考
142 0
Java 遍历List<String> 取出里面的String 元素以 ‘、’ 顿号拼接
Java 遍历List<String> 取出里面的String 元素以 ‘、’ 顿号拼接
550 0
Java 遍历List<String> 取出里面的String 元素以 ‘、’ 顿号拼接
使用 some , every ,和 Object.values 检查对象内的值
使用 some , every ,和 Object.values 检查对象内的值
160 0
使用 some , every ,和 Object.values 检查对象内的值
【Groovy】map 集合 ( 根据 Key 获取 map 集合中对应的值 | map.Key 方式 | map.‘Key’ 方式 | map[‘Key’] 方式 | 代码示例 )
【Groovy】map 集合 ( 根据 Key 获取 map 集合中对应的值 | map.Key 方式 | map.‘Key’ 方式 | map[‘Key’] 方式 | 代码示例 )
559 0
【Groovy】map 集合 ( 根据 Key 获取 map 集合中对应的值 | map.Key 方式 | map.‘Key’ 方式 | map[‘Key’] 方式 | 代码示例 )
|
Java fastjson Python
Gson对Map中值为null的字段转换为空字符串输出
之前我写过一篇文章《Gson对字符串null的字段转换为空字符串输出》,有个兄弟评论说:定义返回的对象,code,msg,object data类型 data类型里面如果是List的map好像还是转不了。这次写一下关于Gson对Map中值为null的字段转换为空字符串输出。
Gson对Map中值为null的字段转换为空字符串输出
下一篇
无影云桌面