一.前言
在我们日常开发中, 在前后端交互的时候 , 会遇到多个id或其他字段存放到一个字段中, 这时我们会遇到一个List(集合)---->String(单个字段), 这时我们要进行操作数据, 使得我们的数据可以保存到数据库中 .
二.解决方法
2.1 利用StringBurilder或StringBuffer
public static void main(String[] args) {
List<Integer> list= Arrays.asList(1000001,1000002,1000003,1000004,1000005,1000006);
StringBuilder builder=new StringBuilder();
for (Integer integer:list){
builder.append(integer).append(",");
}
String s = builder.toString();
System.out.println(s);
}
看结果
2.2.利用String.join()方法加list.stream
List<Integer> list= Arrays.asList(1000001,1000002,1000003,1000004,1000005,1000006);
String join = String.join(",",list.stream().map(String::valueOf).collect(Collectors.toList()));
System.out.println(join);
看结果
2.3直接利用Stream的collect转换
List<Integer> list= Arrays.asList(1000001,1000002,1000003,1000004,1000005,1000006);
String collect = list.stream().map(String::valueOf).collect(Collectors.joining(","));
System.out.println(collect);
看结果
三. 总结
- 在我们开发中要多尝试不同的解决思路, 这样我们才会更快成长, 所以跟我有类似业务场景的或好的方法希望大家留言讨论
- 在我们使用Stream时不利于我们对代码的解析(Debug看流程) , 请谨慎使用