`

递归去除集合中的空格(集合中可能包括集合,Map、List)

    博客分类:
  • java
阅读更多
    /** 
     * 递归去除集合中所有的字符串的空格
     * <功能详细描述>
     * @param param 请求参数
     * @return
     * @see [类、类#方法、类#成员]
     */
    public static Map<String, Object> trimR(Map<String, Object> param)
    {
        if (null != param && param.size() > 0)
        {
            // 集合不为空则开始递归去除字符串的空格
            for(Map.Entry<String, Object>  entry : param.entrySet())
            {
                param.put(entry.getKey(), subTrimR(param.get(entry.getKey())));
            }
        }
        return param;
    }
    
    @SuppressWarnings("all")
    private static Object subTrimR(Object subValue)
    {
        if (null == subValue)
        {
            return subValue;
        }
        else if (subValue instanceof String)
        {
            subValue = ((String)subValue).trim();
        }
        else if (subValue instanceof Map)
        {
            Map<String, Object> subParam = (Map<String, Object>)subValue;
            for(Map.Entry<String, Object>  entry : subParam.entrySet())
            {
                subParam.put(entry.getKey(), subTrimR(subParam.get(entry.getKey())));
            }
        }
        else if (subValue instanceof List)
        {
            List<Object> subParam = (List<Object>)subValue;
            for (int i = subParam.size() - 1; i >= 0; i--)
            {
                // 获取处理之后的参数
                Object temp = subTrimR(subParam.get(i));
                // 删除掉指定位置的值
                subParam.remove(i);
                // 将参数从新放入指定位置
                subParam.add(i, temp);
            }
        }
        return subValue;
    }
分享到:
评论

相关推荐

    数据结构图的遍历及拓扑排序

    if(map-&gt;maplist[j].id==0&&tag[j]==0)//下一条边节点入度减一,并判断之后入度是否为零且未被访问过 { queue[++real]=j;//让每一个未被访问到的且入度为0的节点进栈 tag[j]=1;//进栈…… } p=p...

    Java面试宝典2010版

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 2、Java有没有goto? 3、说说&和&&的区别。 4、在JAVA中如何跳出当前的多重嵌套循环? 5、switch语句能否作用在byte上,能否作用在long上...

    AIC的Java课程1-6章

     能够使用类Arrays和Collections中的方法操作数组和集合。  知道实现比较器(Comparable,Comparator)用于排序算法(多态性)。  [*]了解同步包装和不可修改包装。 第12章 IO与串行化 2...

    最新Java面试宝典pdf版

    65、去掉一个Vector集合中重复的元素 46 66、Collection 和 Collections的区别。 47 67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 47 68、你所知道的集合类都...

    freemarker总结

    list指令是一个迭代输出指令,用于迭代输出数据模型中的集合,list指令的语法格式如下: &lt;#list sequence as item&gt; ... &lt;/#list&gt; 上面的语法格式中,sequence就是一个集合对象,也可以是一个表达式,但该表达式将返回...

    Java面试笔试资料大全

    65、去掉一个Vector集合中重复的元素 46 66、Collection 和 Collections的区别。 47 67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 47 68、你所知道的集合类都...

    Java面试宝典-经典

    65、去掉一个Vector集合中重复的元素 46 66、Collection 和 Collections的区别。 47 67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 47 68、你所知道的集合类都...

    JAVA面试宝典2010

    65、去掉一个Vector集合中重复的元素 46 66、Collection 和 Collections的区别。 47 67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 47 68、你所知道的集合类都...

    java面试题大全(2012版)

    65、去掉一个Vector集合中重复的元素 46 66、Collection 和 Collections的区别。 47 67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 47 68、你所知道的集合类都...

    java面试宝典2012

    65、去掉一个Vector集合中重复的元素 50 66、Collection 和 Collections的区别。 51 67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 51 68、你所知道的集合类都...

    Java面试宝典2012版

    65、去掉一个Vector集合中重复的元素 46 66、Collection 和 Collections的区别。 47 67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 47 68、你所知道的集合类...

    Java面试宝典2012新版

    65、去掉一个Vector集合中重复的元素 46 66、Collection 和 Collections的区别。 47 67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 47 68、你所知道的集合类都...

    net学习笔记及其他代码应用

    33.写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。 答:解1: select top 10 * from A where id not in (select top 30 id from A) 解2: select top 10 * ...

    Java 面试宝典

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? ...... 7 2、Java 有没有 goto? .......................................................................................................

Global site tag (gtag.js) - Google Analytics