为什么哈希映射值不在列表中转换?TL;DR解释进一步了解 Java API 源代码
2022-08-31 11:28:39
我将值放入哈希图中,其形式为,
Map<Long, Double> highLowValueMap=new HashMap<Long, Double>();
highLowValueMap.put(1l, 10.0);
highLowValueMap.put(2l, 20.0);
我想使用地图方法创建一个列表。values()
List<Double> valuesToMatch=new ArrayList<>();
valuesToMatch=(List<Double>) highLowValueMap.values();
或
List<Double> valuesToMatch=(List<Double>) highLowValueMap.values();
但是,它会引发异常:
线程 “main” java.lang.ClassCastException 中的异常:
java.util.HashMap$值不能强制转换为 java.util.List
但它允许我将其传递到列表的创建中:
List<Double> valuesToMatch = new ArrayList<Double>( highLowValueMap.values());