gpt4 book ai didi

java - 类型不匹配,无法从元素对象转换为字符串

转载 作者:行者123 更新时间:2023-12-02 01:16:53 25 4
gpt4 key购买 nike

我从这个网站上复制了这段代码:https://www.w3schools.com/java/showjava.asp?filename=demo_hashmap_loop_key

但它仍然给出如上所述的错误:'for (String i : CapitalCities.keySet())!'

有人知道如何纠正这个错误吗?


import java.util.HashMap;

public class MyClass {
public static void main(String[] args) {
HashMap capitalCities = new HashMap();
capitalCities.put("England", "London");
capitalCities.put("Germany", "Berlin");
capitalCities.put("Norway", "Oslo");
capitalCities.put("USA", "Washington DC");

for (String i : capitalCities.keySet()) {
System.out.println(i);
}
}
}

最佳答案

您的程序将抛出以下编译错误。

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
Type mismatch: cannot convert from element type Object to String

根据您的代码,capitalCities.keySet()将返回泛型类型的 Set。因此,为了返回字符串集,我们可以使用以下解决方案之一。

解决方案1:for (Object i : capitalCities.keySet())将“i”的数据类型更改为通用对象。

解决方案 2:HashMap<String, String> capitalCities = new HashMap<String, String>();我们可以将映射的键和值的数据类型定义为字符串。

注意:为了代码可读性,建议使用“解决方案2”。

关于java - 类型不匹配,无法从元素对象转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58429793/

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