[Ljava.lang.String; cannot be cast to java.lang.String错误
今天在获取map的内容时报错:[Ljava.lang.String; cannot be cast to java.lang.String
我的代码如下:
Iterator i = map.keySet().iterator();
while(i.hasNext()){
String name = i.next().toString();
String value = (String)map.get(name); 错误就在这一行产生
}
上网查了一下,这是由于类型转换错误造成了.因为此时map.get(name)返回的是Sting[],而并非是String。
因此修正后的代码为:
Iterator i = map.keySet().iterator();
while(i.hasNext()){
String name = i.next().toString();
String value =((String[])map.get(name))[0];
}
这样就不会再报错。
本文介绍了在Java中处理Map集合时遇到的一个常见错误:尝试将String[]类型转换为String类型而导致的异常。通过示例代码详细解释了错误原因,并给出了正确的解决方案。
623

被折叠的 条评论
为什么被折叠?



