Map<String, ?>只能是只读模式,不能增加,因为增加的时候不知道该写入什么类型的值;Map<String, Object>可以读和写,只要是所有Object类的子类都可以。putAll可以合并两个MAP,只不过如果有相同的key那么用后面的覆盖前面的
//循环遍历请求的参数
Map<String, String[]> tmp = req.getParameterMap();
if (tmp != null) {
for (String key : tmp.keySet()) {
String[] values = tmp.get(key);
//将循环的参数添加到Map中
mapRes.put(key, values.length >= 1 ? values[0].trim() : null);
}
}
/**
* 将传入的Map的Key值转为驼峰命名,并保留原值
* @param paramMap
* @return
*/
public static Map<String, Object> getCamelMap(Map<String, Object> paramMap){
Map<String, Object> resMap = new HashMap<String, Object>();
if(null == paramMap){
return null;
}
Set<String> keySet = paramMap.keySet();
Iterator<String> it = keySet.iterator();
String sKey = null;
Object oVal = null;
while(it.hasNext()){
sKey = it.next();
oVal = paramMap.get(sKey);
sKey = underLine2Camel(sKey);
resMap.put(sKey, oVal);
}
resMap.putAll(paramMap);
return resMap;
}