gpt4 book ai didi

java - 如何将 HashMap> 转换为 HashMap

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:10:41 25 4
gpt4 key购买 nike

我有一个 HashMap<String, ArrayList<String>> .我正在尝试将其转换为 HashMap<String, String[]> .

HashMap<String, ArrayList<String>> arrayListMap = new HashMap<>();
HashMap<String, String[]> arrayMap = new HashMap<>();
for (Map.Entry<String, ArrayList<String>> entry : arrayListMap.entrySet()) {
arrayMap.put(entry.getKey(), entry.getValue().toArray());
}

但是,对于 entry.getValue().toArray() ,我的 IDE 给我错误:

Wrong 2nd argument type. Found: 'java.lang.Object[], required 'java.lang.String[]'.

我不知道为什么,因为 arrayListMap指定我将使用 String

为什么这不起作用,我该如何解决?

最佳答案

ArrayList 重载了 toArray 方法。

第一种形式,toArray() , 将返回一个 Object[] 。这不是您想要的,因为您无法将 Object[] 转换为 String[]

第二种形式,toArray(T[] a)将返回一个数组,该数组与您传递给它的任何数组一起输入。

您需要在这里使用第二种形式,以便正确键入数组。

arrayMap.put(entry.getKey(), entry.getValue()
.toArray(new String[entry.getValue().size()]));

关于java - 如何将 HashMap<String, ArrayList<String>> 转换为 HashMap<String, String[]>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31119831/

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