1、List转String
List<String> list= Arrays.asList("aaa", "bbb", "ccc", "ddd");
//方案一:使用String.join()函数,给函数传递一个分隔符合一个迭代器,一个StringJoiner对象会帮助我们完成所有的事情
String string1 = String.join("-",list1);
System.out.println(string1);
//方案二:采用流的方式来写
String string2 = list.stream().collect(Collectors.joining(","));
System.out.println(string2 );
// str = "aaa,bbb,ccc,ddd";
List<Integer> list = new ArrayList<>();
list.add(1);list.add(2);
System.out.println(String.join(",", list.stream().map(String::valueOf).collect(Collectors.toList())));
System.out.println(list.stream().map(String::valueOf).collect(Collectors.joining(",")));
2、以逗号分割的字符串转换成List类型
//将以逗号分割的字符串转换成List<Long>类型
String ids= "1,2,3,4,5,6";
List<Long> idsList = Arrays.asList(ids.split(",")).stream().map(s -> Long.parseLong(s.trim())).collect(Collectors.toList());
//将以逗号分割的字符串转换成List<String>类型
List<String> list = Arrays.asList(string.split(",")).stream().map(s -> String.format(s.trim())).collect(Collectors.toList());
3、某对象集合中的某个属性的集合
//定义list集合
List<P> list = Arrays.asList(new P(1, "哈哈"), new P(2, "嘿嘿"), new P(3, "呵呵"));
//从list集合中,取出字段name的列表
List<String> names = list.stream().map(p -> p.getName()).collect(Collectors.toList());
某对象集合中的某个属性的以逗号分隔的String字符串
List<TestDemo> testDemos = new ArrayList();
//定义list集合
TestDemo test = new TestDemo();
test1.setId(1);
test1.setName("aaa");
testDemos.add(test1);
TestDemo test2 = new TestDemo();
test2.setId(2);
test2.setName("bbb");
testDemos.add(test2);
//将集合中TestDemo 对象name值以逗号方式隔开转为字符串
String names = testDemos.stream().map(TestDemo::getName).collect(Collectors.joining(","));
System.out.println(names);
// names = "aaa,bbb";