Java8 将List与为逗号分隔的String字符串互转

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";
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值