需求:Arrays.asList("AA", "BB") --> "AA,BB"
In Java 8
采用stream的方式
List<String> strList = Arrays.asList("AA", "BB", "CC");
String newStr = strList.stream().collect(Collectors.joining(","));
System.out.println("Output:" + newStr); // Output:AA,BB,CC
使用String.join()函数,给函数传递一个分隔符合一个迭代器,StringJoiner对象会帮助我们完成所有的事情
String newStr = String.join(",", strList);
System.out.println("Output:" + newStr); // Output:AA,BB,CC
In Java 7
Java 7的实现方法
List<String> strList = Arrays.asList("AA", "BB", "CC");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < strList.size(); i++) {
if (i != 0) {
sb.append(",");
}
sb.append(strList.get(i));
}
System.out.println("Output:" + sb.toString()); // Output:AA,BB,CC
list和以逗号分割的String相互转换(guava)
import com.alibaba.fastjson.JSON;
import com.google.common.base.Joiner;
import com.google.common.collect.Lists;
import com.google.common.base.Splitter;
List<String> list = Lists.newArrayList("a","b","c"," ");
String s = Joiner.on(",").join(list); // 以逗号分割
System.out.println(s); // a,b,c,
Splitter split = Splitter.on(',').trimResults().omitEmptyStrings(); // 去前后空格&&去空string
List<String> list1 = split.splitToList(s);
System.out.println(JSON.toJSONString(list1)); // ["a","b","c"]
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。