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
网友评论