java.lang.ClassCastException: java.util.TreeMap$Values cannot be cast to java.util.ArrayList

今天,在做项目的时候用到TreeMap.values();这个方法,本来是要获取ArrayList<>类型的集合。因为TreeMap.values();方法返回的是Collection接口,ArrayList是实现了Collection接口的,但是强转类型发生了上述错误,哈哈哈,解决方案如下:

错误代码如下:

TreeMap longListEntry;

。。。。。省略过程

List students = (ArrayList)longListEntry.values();

不好意思,报错了。

解决方案:

TreeMap longListEntry;

。。。。。省略过程

List students = new ArrayList();

students.addAll(longListEntry.values());

可以了,哈哈哈,但是还是不知道为什么不能强转,看来得看源码了,这里原因待更新,先去完成项目喽,有知道的小伙伴,可以评论一下,谢谢,还是得深入研究啊!

你可能感兴趣的:(java,TreeMap)