这是我的源代码:
for (Map.Entry<String, String[]> e : request.getParameterMap().entrySet()) {
if(e.getValue() != null && e.getValue().length > 0) {
someMap.put(e.getKey(), e.getValue()[0]);
} else {
someMap.put(e.getKey(), e.getValue());
}
}
我得到这个编译错误:
Type mismatch: cannot convert from element type Object to Map.Entry<String, String[]>
上面代码的第一行引发了异常。问题是这段代码可以在带有 Java 7 的 Eclipse 中顺利编译和运行;但是,在也具有相同 Java 版本的项目生成器中无法执行此操作。想知道导致此错误的原因以及如何修复它。谢谢。
最佳答案
看起来像是选角问题:您需要选角 request.getParameterMap()
至Map<String, String[]>
for (Map.Entry<String, String[]> entry :
((Map<String, String[]>)request.getParameterMap()).entrySet()) {
// rest of your work-arround
}
或者迭代如下:
for(Object obj :request.getParameterMap().entrySet()) {
Map.Entry<String, String[]> entry = (Map.Entry<String, String[]>) obj;
if(entry.getValue() != null && entry.getValue().length > 0) {
someMap.put(entry.getKey(), entry.getValue()[0]);
} else {
someMap.put(entry.getKey(), entry.getValue());
}
}
关于java - 迭代 HttpServletRequest 参数映射的条目集时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17358497/