因为项目中需要获取到Map的值的集合,所以调用了HashMap.values()方法转成List,当时是使用了以下代码。(逻辑上这样想应该没问题,但生活总是会是不是给你一点小“”惊喜“”)
List<AreaItemOpt> areaItemOpts = (List<AreaItemOpt>) areaItemOptMap.values();
return areaItemOpts;
怀着喜悦的心情在测试环境中运行之后,它报错了!报错如下:
java.lang.ClassCastException: java.util.HashMap$Values cannot be cast to java.util.List
错误原因:
于是翻了一下values()方法的源码
public Collection<V> valu