Map<String, ?>和Map<String, Object>的区别

来源:互联网 发布:无形资产软件折旧年限 编辑:程序博客网 时间:2024/05/18 12:01

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;
    }

0 0
原创粉丝点击