gpt4 book ai didi

java - 映射/ HashMap 类型转换?

转载 作者:行者123 更新时间:2023-12-01 23:42:44 25 4
gpt4 key购买 nike

所以我有一个方法,setContainerSummaryMap ,它接受 Map<String, Map<String, Integer>>

我还有一个HashMap<Long, HashMap<String, Integer>> ,称为 contIdDestQuanMapSoFar ,我将其转换为 HashMap<String, HashMap<String, Integer>>HashMap<Long, String> ,名为contIdToScanIdMap ,将键相互映射。该方法如下:

public HashMap<String, HashMap<String, Integer>> convertContSummaryMap() {
HashMap<String, HashMap<String, Integer>> toRet = new HashMap<String, HashMap<String, Integer>>();
for (Entry<Long, HashMap<String, Integer>> entry : contIdDestQuanMapSoFar.entrySet()) {
toRet.put(contIdToScanIdMap.get(entry.getKey()), entry.getValue());
}
return toRet;
}

问题是,当我调用方法setContainerSummaryMap(currentPlan.convertContSummaryMap())时,我收到一个错误,说它不适用于参数 HashMap<String, HashMap<String, Integer>> 。我如何修改数据类型才能使其工作?谢谢。

最佳答案

您可以重新定义 setContainerSummaryMap 方法:

public void setContainerSummaryMap(Map<String, ? extends Map<String, Integer>> map)

或者,正如 Louis 已经建议的那样,更改 convertContSummaryMap 的返回类型以匹配:

public HashMap<String, Map<String, Integer>> convertContSummaryMap()

关于java - 映射/ HashMap 类型转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17664639/

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