1.String 转 List
//String字符串转集合(简单高效) //根据字符串中的某个字符进行转换 String str = "a, b, c"; List<String> list = Arrays.asList(str); //如果字符串List集合比较复杂不便于字符进行拆分转换 public List<String> strChangeToList(String strList) { JSONArray json = JSONArray.fromObject(strList); List<String> list = new ArrayList<>(); for (Object str : list) { list.add(str.toString()); } return list; }
2.String 转 Map
引用:import com.alibaba.fastjson.JSONObject; //第一种方法 String strMap = "{\"key1\":\"val1\",\"key2\":\"val2\"}"; Map<String, String> Map= JSONObject.parseObject(strMap, Map.class);
//第二种方法
public static Map<String, Object> getValue(String param) {
Map<String, Object> map = new HashMap<>();
String str = "";
String key = "";
Object value = "";
char[] charList = param.toCharArray();
boolean valueBegin = false;
for (int i = 0; i < charList.length; i++) {
char c = charList[i];
if (c == '{') {
if (valueBegin == true) {
value = getValue(param.substring(i, param.length()));
i = param.indexOf('}', i) + 1;
map.put(key, value);
}
} else if (c == '=') {
valueBegin = true;
key = str;
str = "";
} else if (c == ',') {
valueBegin = false;
value = str;
str = "";
map.put(key, value);
} else if (c == '}') {
if (str != "") {
value = str;
}
map.put(key, value);
return map;
} else if (c != ' ') {
str += c;
}
}
return map;
}
然后写了个方法 简单测试一下
public static void main(String[] args) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("aaa", 11);
map.put("bbb", 22);
map.put("ccc", 33);
map.put("ddd", 44);
String string = map.toString();
System.out.println("map转String"+string);
// Map<String, Object> stringToMap = getStringToMap(string);
Map<String, Object> stringToMap = getValue(string);
for(Object a : stringToMap.keySet()) {
System.out.println(stringToMap.get(a).toString());
}
}
需要注意的是 value 值中 不能带 逗号(,)
3.List或Map转String
//这个就很简单了 直接 toStirng就可以了