Java将集合List转换成String字符串(或String转换成List)详解

 更新时间:2023年06月05日 12:11:22   作者:偏爱星雾缠绕15  
今天在写项目的时候遇到一个问题,就是要把得到的一个集合转换成字符串,下面这篇文章主要给大家介绍了关于Java将集合List转换成String字符串(或String转换成List)的相关资料,需要的朋友可以参考下

1、将集合list转换成string

将一个Java集合List转换为String很简单,可以使用String.join()或StringBuilder等方法。下面是几个示例:

1.1、使用String.join()方法:

List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
String joinedString = String.join(", ", list);
System.out.println(joinedString);  // 输出: A, B, C

 1.2、使用StringBuilder:

List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
StringBuilder sb = new StringBuilder();
for (String str : list) {
    sb.append(str);
    sb.append(", ");
}
sb.setLength(sb.length() - 2);  // 删除最后一个逗号和空格
String joinedString = sb.toString();
System.out.println(joinedString);  // 输出: A, B, C

 1.3、使用Java 8的Stream API (推荐):

List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
String joinedString = list.stream().collect(Collectors.joining(", "));
System.out.println(joinedString);  // 输出: A, B, C

总结:

以上是转换Java集合List为字符串的几种方法。需要注意的是,当集合中包含null值时,使用String.join()方法将会抛出NullPointerException异常,而使用StringBuilder或Java 8的Stream API则可以正确处理null值。 

2、将string转换成list

将一个逗号分隔的字符串转换为Java集合List也很简单,可以使用String的split()方法或者使用Java 8的Stream API的splitAsStream()方法。下面是两个示例:

2.1、使用String的split()方法:

String str = "A, B, C";
List<String> list = Arrays.asList(str.split("\\s*,\\s*"));
System.out.println(list);  // 输出: [A, B, C]

2.2、 使用Java 8的Stream API的splitAsStream()方法:

String str = "A, B, C";
List<String> list = Pattern.compile("\\s*,\\s*").splitAsStream(str).collect(Collectors.toList());
System.out.println(list);  // 输出: [A, B, C]

总结:

需要注意的是,在使用String的split()方法时,分隔符需要使用正则表达式进行转义,例如上述代码中的"\s*,\s*"表示匹配以逗号为分隔符的字符串,并去除前后空格。使用Java 8的Stream API的splitAsStream()方法则不需要进行转义。

TIP:  以上是将逗号分隔的字符串转换为Java集合List的两种方法。需要注意的是,当字符串中包含空格或其他分隔符时,需要相应地调整分隔符参数的正则表达式

附:java List数组用逗号分隔开,转成字符串

方法一:使用Java 8的Stream流来实现List数组用逗号分隔开,转成字符串,具体实现如下:

List list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.add("d");

String str = list.stream().collect(Collectors.joining(","));

System.out.println(str); //输出结果为 a,b,c,d

方法二:使用Stream的collect方法,结合Collectors.joining方法,可以将List中的元素用指定的分隔符连接起来,生成一个字符串。在上面的代码中,我们使用了逗号作为分隔符,将List中的元素连接成了一个字符串。

另外,如果要在字符串的开头或结尾加上一些额外的字符,可以使用String的concat方法,例如:

String str = ",".concat(list.stream().collect(Collectors.joining(","))).concat(",");
System.out.println(str); //输出结果为 ,a,b,c,d,

以上代码在字符串的开头和结尾加上了逗号,输出结果为 “,a,b,c,d,”。

到此这篇关于Java将集合List转换成String字符串(或String转换成List)的文章就介绍到这了,更多相关Java集合List转换String字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java实时监控日志文件并输出的方法详解

    Java实时监控日志文件并输出的方法详解

    这篇文章主要给大家介绍了关于Java实时监控日志文件并输出的方法,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-06-06
  • Java编程之内置观察者模式实例详解

    Java编程之内置观察者模式实例详解

    这篇文章主要介绍了Java编程之内置观察者模式,结合实例形式较为详细的分析了java内置观察者模式的原理、实现方法及相关注意事项,需要的朋友可以参考下
    2017-08-08
  • SpringBoot使用Editor.md构建Markdown富文本编辑器示例

    SpringBoot使用Editor.md构建Markdown富文本编辑器示例

    这篇文章主要介绍了SpringBoot使用Editor.md构建Markdown富文本编辑器示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • linux下用renameTo方法修改java web项目中文件夹名称的实例

    linux下用renameTo方法修改java web项目中文件夹名称的实例

    下面小编就为大家带来一篇linux下用renameTo方法修改java web项目中文件夹名称的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • java8中Stream的使用示例教程

    java8中Stream的使用示例教程

    Stream是Java8的一大亮点,是对容器对象功能的增强,下面这篇文章主要给大家介绍了关于java8中Stream使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • Java实现终止线程池中正在运行的定时任务

    Java实现终止线程池中正在运行的定时任务

    本篇文章给大家分享了JAVA中实现终止线程池中正在运行的定时任务的具体步骤和方法,有需要的朋友跟着学习下。
    2018-05-05
  • 关于Mysql的四种存储引擎

    关于Mysql的四种存储引擎

    这篇文章主要介绍了关于Mysql的四种存储引擎,MySql的核心就是存储引擎,不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能,需要的朋友可以参考下
    2023-05-05
  • Java中List集合的深入介绍(超级推荐!)

    Java中List集合的深入介绍(超级推荐!)

    List接口是继承Collection接口,所以Collection集合中有的方法,List集合也继承过来,下面这篇文章主要给大家介绍了关于Java中List集合的相关资料,需要的朋友可以参考下
    2022-01-01
  • Mybatis批量修改联合主键数据的两种方法

    Mybatis批量修改联合主键数据的两种方法

    最近遇上需要批量修改有联合主键的表数据,找很多资料都不是太合适,最终自己摸索总结了两种方式可以批量修改数据,对Mybatis批量修改数据相关知识感兴趣的朋友一起看看吧
    2022-04-04
  • SpringBoot整合邮件发送的四种方法

    SpringBoot整合邮件发送的四种方法

    这篇文章主要介绍了SpringBoot整合邮件发送的四种方法,SpringBoot中集成了发送邮件的功能,本文做了进一步优化,需要的朋友可以参考下
    2023-03-03

最新评论