您的位置:首页 > 移动开发 > Objective-C

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

2016-04-29 10:07 519 查看


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;

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: