gpt4 book ai didi

java - LinkedHashMap$Entry 无法转换为 java.util.LinkedHashMap

转载 作者:行者123 更新时间:2023-11-30 09:13:00 24 4
gpt4 key购买 nike

我被包裹了LinkedHashMap<String, LinkedHashMap<Date, Double>>进入列表;

List<LinkedHashMap<String, LinkedHashMap<Date, Double>>> list = new ArrayList(mainCodesMap.entrySet());

哪个mainCodeMapMap<String, Map<Date, Double>> 的类型

问题是列表没有问题,但是,当我尝试在 for 循环中按索引获取列表元素时;

for (int i = 0; i < correMatrix.length; i++) {

LinkedHashMap<String, LinkedHashMap<Date, Double>> entryRow = list.get(i);
LinkedHashMap<Date, Double> entryRowData = (LinkedHashMap<Date, Double>) entryRow.values();
..
..
}

jvm 抛出 ClassCastException其中说;

java.lang.ClassCastException: java.util.LinkedHashMap$Entry cannot be cast to java.util.LinkedHashMap

最佳答案

List<LinkedHashMap<String, LinkedHashMap<Date, Double>>> list = new ArrayList(mainCodesMap.entrySet());

mainCodesMap.entrySet返回 Set<Map.Entry<...>> (不是字面上的 ... )。然后你创建一个 ArrayList包含这些 Map.Entry秒。因为您使用的是原始类型 ArrayList (而不是 ArrayList<something>)编译器无法捕捉到这个问题。

看起来你的意思是这样的:

List<LinkedHashMap<String, LinkedHashMap<Date, Double>>> list = new ArrayList<>();
list.add(mainCodesMap)

备注:ArrayList<>意味着编译器会自动填充<>。它并非在所有情况下都有效。

关于java - LinkedHashMap$Entry 无法转换为 java.util.LinkedHashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21215681/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com