String字符串处理系列和json转化
通过guava处理字符串
1、pom
com.google.guava
guava
23.0
2、字符串拼接
// 将list 用‘;’拼接,并跳过 null
final List stringArrayList = Lists.newArrayList("aadf", "ldksf", "", "kjslfu", "ekfkkld");
final String join = Joiner.on(";").skipNulls().join(stringArrayList);
System.out.println("join = " + join); // join = aadf;ldksf;kjslfu;ekfkkld
final String join1 = Joiner.on(" - ").join("adfs", 'd', 1233, 90, "wew");
System.out.println("join1 = " + join1); // join1 = adfs - d - 1233 - 90 - wew
3、字符串拆分
String a = "aadf;ldksf;;kjslfu;ekfkkld";
// 通过';'切割(支持正则),忽略空出字符串,结果字符串前后空格删除
final List strings = Splitter.on(";").omitEmptyStrings().trimResults().splitToList(a);
System.out.println("strings = " + strings);
4、CharMatcher
String a = "kjluwefjo23749823ljk12340325132lk1r2137";
final String s = CharMatcher.javaDigit().retainFrom(a);
System.out.println("s = " + s); // 237498231234032513212137
5、CaseFormat (未测)
LOWER_CAMEL lowerCamel
LOWER_HYPHEN lower-hyphen
LOWER_UNDERSCORE lower_underscore
UPPER_CAMEL UpperCamel
UPPER_UNDERSCORE UPPER_UNDERSCORE
6、字符串格式化
String lkl = MessageFormat.format("aaa{0}ccc{1}", "bbb","ddd"); // aaabbbcccddd
通过fastjson处理字符串
1、pom
com.alibaba
fastjson
1.2.69
2、其它类型转json
// list转json
List stringArrayList = Lists.newArrayList("aadf", "ldksf", "", "kjslfu", "ekfkkld");
String s = JSONObject.toJSONString(stringArrayList); // ["aadf","ldksf","","kjslfu","ekfkkld"]
// 对象转json
Answer answer = new Answer();
answer.setUserId("kk");
answer.setId(12);
String s1 = JSONObject.toJSONString(answer); //{"id":12,"userId":"kk"}
3、json转其它类型
// json 转map
String mapJson = "{\"id\":12,\"userId\":\"kk\"}";
final Map hashMap = JSONObject.parseObject(mapJson, HashMap.class); // {id=12, userId=kk}
// json 转实体类
String json = "{\"id\":12,\"userId\":\"kk\"}";
final Answer answer = JSONObject.parseObject(json, Answer.class); // {id=12, subjectId='null', groupName='null', userAnswer='null', userId='kk'}