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实现视频格式转换,需要的朋友可以参考下
    2025-01-01
  • RabbitMQ  @RabbitListener 与 @RabbitHandler 的使用区别解析

    RabbitMQ  @RabbitListener 与 @RabbitHandl

    本文将深入探讨这两个注解的区别、使用方法、最佳实践以及常见问题,帮助开发者更好地理解和应用 RabbitMQ 在 Spring Boot 项目中的消息处理机制,感兴趣的朋友跟随小编一起看看吧
    2026-03-03
  • HashMap红黑树入门(实现一个简单的红黑树)

    HashMap红黑树入门(实现一个简单的红黑树)

    红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。 红黑树发明时被称为平衡二叉B树,后来修改为如今的“红黑树”
    2021-06-06
  • SpringBoot项目nohup启动运行日志过大的解决方案

    SpringBoot项目nohup启动运行日志过大的解决方案

    这篇文章主要介绍了SpringBoot项目nohup启动运行日志过大的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Java比较两个List的值是否相等的方法

    Java比较两个List的值是否相等的方法

    这篇文章主要介绍了Java比较两个List的值是否相等的方法,涉及java针对队列比较的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Springboot引入hibernate配置自动建表并进行增删改查操作

    Springboot引入hibernate配置自动建表并进行增删改查操作

    这篇文章主要介绍了Springboot引入hibernate配置自动建表并进行增删改查,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • 如何优雅的抛出Spring Boot注解的异常详解

    如何优雅的抛出Spring Boot注解的异常详解

    这篇文章主要给大家介绍了关于如何优雅的抛出Spring Boot注解的异常的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • 解决springCache配置中踩的坑

    解决springCache配置中踩的坑

    这篇文章主要介绍了解决springCache配置中踩的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • java 注解实现一个可配置线程池的方法示例

    java 注解实现一个可配置线程池的方法示例

    这篇文章主要介绍了java 注解实现一个可配置线程池的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • java编程创建型设计模式工厂方法模式示例详解

    java编程创建型设计模式工厂方法模式示例详解

    这篇文章主要为大家介绍了java编程创建型设计模式之工厂方法模式的创建及案例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2022-02-02

最新评论