美文网首页
form字符串和map的互相转换

form字符串和map的互相转换

作者: 寒岳旺旺 | 来源:发表于2020-03-01 13:59 被阅读0次
    package com.imooc.utils;
    
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * @Author Changlin.Lin
     * @Date 2020/3/1 12:53
     **/
    public class FormUtils {
    
        //hashMap转换成表单字符串
        public static String map2Form(HashMap<String,String> map){
            //StringBuilder和StringBuffer可以把任意类型数据放进字符串缓存区里面,并换回字符串缓冲区本身
            StringBuilder stringBuilder = new StringBuilder();
    
            if(map==null){
                return stringBuilder.toString();
            }else{
                //增强for遍历hashMap
                //Set<Map.Entry<String,String>> 键值对对象集合
                for(Map.Entry<String,String> entry : map.entrySet()){
                    stringBuilder.append(entry.getKey()).append("=").append(entry.getValue()).append("&");
                }
                return stringBuilder.substring(0,stringBuilder.length()-1);
            }
        }
    
        //表单字符串转换成HashMap
        public static HashMap<String,String> form2Map(String formData){
            String[] params;
            HashMap<String,String> map = new HashMap<String, String>();
    
            //params按照&将每个键值对分割成字符串数组
            params = formData.split("&");
    
            //增强for遍历
            for(String s : params){
                String[] list = s.split("=");
                if(list.length>1){
                    map.put(list[0],list[1]);
                }
            }
            return map;
        }
    
    
        //测试方法
        public static void main(String[] args){
            HashMap<String,String> map = new HashMap<String,String>();
    
            map.put("SerialNumber", "123456");
            map.put("Enable", "true");
            map.put("Bytes", "62bb");
            map.put("HashCode", "a9cf");
    
            System.out.println(map2Form(map));
    
    
            //测试Form字符串表单转换成map
            String strinfo = map2Form(map);
            HashMap<String,String> OutMap = form2Map(strinfo);
            System.out.println(OutMap);
        }
    }
    
    

    运行结果:


    image.png

    相关文章

      网友评论

          本文标题:form字符串和map的互相转换

          本文链接:https://www.haomeiwen.com/subject/pcsqkhtx.html