将List转化为String 以逗号隔开

怼烎@ 2023-10-12 19:06 126阅读 0赞

一.前言

在我们日常开发中, 在前后端交互的时候 , 会遇到多个id或其他字段存放到一个字段中, 这时我们会遇到一个List(集合)——>String(单个字段), 这时我们要进行操作数据, 使得我们的数据可以保存到数据库中 .

二.解决方法

2.1 利用StringBurilder或StringBuffer

  1. public static void main(String[] args) {
  2. List<Integer> list= Arrays.asList(1000001,1000002,1000003,1000004,1000005,1000006);
  3. StringBuilder builder=new StringBuilder();
  4. for (Integer integer:list){
  5. builder.append(integer).append(",");
  6. }
  7. String s = builder.toString();
  8. System.out.println(s);
  9. }

看结果

bb1ae66ab76f40de8686fb00bfff77fd.png

2.2.利用String.join()方法加list.stream

  1. List<Integer> list= Arrays.asList(1000001,1000002,1000003,1000004,1000005,1000006);
  2. String join = String.join(",",list.stream().map(String::valueOf).collect(Collectors.toList()));
  3. System.out.println(join);

看结果

014ec534788b4c0389e48f73df04d7d1.png

2.3直接利用Stream的collect转换

  1. List<Integer> list= Arrays.asList(1000001,1000002,1000003,1000004,1000005,1000006);
  2. String collect = list.stream().map(String::valueOf).collect(Collectors.joining(","));
  3. System.out.println(collect);

看结果

67f5a17c2b8749a2852c406efd66227a.png

三. 总结

  1. 在我们开发中要多尝试不同的解决思路, 这样我们才会更快成长, 所以跟我有类似业务场景的或好的方法希望大家留言讨论
  2. 在我们使用Stream时不利于我们对代码的解析(Debug看流程) , 请谨慎使用

发表评论

表情:
评论列表 (有 0 条评论,126人围观)

还没有评论,来说两句吧...

相关阅读