Java中将List列表转换为字符串的三种方法

 更新时间:2025年04月02日 11:33:59   作者:一枚码仔  
这篇文章主要介绍了如何在 Java中将List 转换为 String,接下来使用Java 8 Streams Collectors api和String.join()方法将带有逗号分隔符或自定义分隔符的集合转换为字符串,需要的朋友可以参考下

引言

如何在 Java中将List 转换为 String。接下来使用Java 8 Streams Collectors api和String.join()方法将带有逗号分隔符或自定义分隔符的集合转换为字符串。这种转换是通过使用 java api 方法的简单步骤完成的。首先了解如何使用toString()方法将 List 转换为 String,最后学习著名的 apache 库命令StringUtils.join()方法。

对于所有示例,输入列表必须是 String 作为List类型,否则我们需要将非字符串转换为 String。例如,List 是 Double 类型,然后需要先将 double 转换为字符串。

使用标准 toString() 方法

List.toString()是最简单的,但它在开头和结尾添加方括号,每个字符串用逗号分隔符分隔。

缺点是我们不能用另一个分隔符替换逗号,也不能去掉方括号。

import java.util.Arrays;
import java.util.List;

public class ListToStringUsingToStringExample {

    public static void main(String args) {

    // creating a list with strings.
    List<String> list = Arrays.asList("One", "Two", "Three", "Four", "Five");

    // converting List<String> to String using toString() method
    String stringFromList = list.toString();

    // priting the string
    System.out.println("String : "+stringFromList);
    }
}

输出:
String : [One, Two, Three, Four, Five]

Java 8 String.join()

java 8 String添加了一个特殊的方法String.join()以将集合转换为具有给定分隔符的字符串。

public class ListToStringUsingString_JoinExample {

    public static void main(String args) {

    // creating a list with strings.
    List<String> list = Arrays.asList("One", "Two", "Three", "Four", "Five");

    // converting List<String> to String using toString() method
    String stringFromList = String.join("~", list);

    // priting the string
    System.out.println("String with tilde delimiter: "+stringFromList);

    // delimiting with pipe | symbol.
    String stringPipe = String.join("|", list);

    // printing
    System.out.println("String with pipe delimiter : "+stringPipe);
    }
}

输出:
String with tilde delimiter: One~Two~Three~Four~Five
String with pipe delimiter : One|Two|Three|Four|Five

Collectors.joining()

Collectors.join()方法来自 java 8 stream api。Collctors.joining()方法将分隔符、前缀和后缀作为参数。此方法将列表转换为具有给定分隔符、前缀和后缀的字符串。

查看以下有关使用不同分隔符的 join() 方法的示例。但是,String.join() 方法不提供前缀和后缀选项。
如果您需要自定义分隔符、前缀和后缀,请使用这些。如果您不想要前缀和后缀,则提供空字符串以不在结果字符串前后添加任何内容。

public class ListToStringUsingString_JoinExample {

    public static void main(String args) {

    // creating a list with strings.
    List<String> list = Arrays.asList("One", "Two", "Three", "Four", "Five");

    // using java 8 Collectors.joining with delimiter, prefix and suffix
    String joiningString = list.stream().collect(Collectors.joining("-", "{", "}"));

    // printing
    System.out.println("Collectors.joining string : "+joiningString);

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

    // printing
    System.out.println("Collectors.joining string with @ separator : "+joiningString3);
    }
}

输出:
Collectors.joining string : {One-Two-Three-Four-Five}
Collectors.joining string with @ separator : One@Two@Three@Four@Five

Apache Commons StringUtils.join()

最后的方法是使用来自 apache commons 包的外部库。该库有一个方法StringUtils.join() ,它采用类似于 String.join() 方法的列表和分隔符。

public class ListToStringUsingStringUtils_JoinExample {

    public static void main(String args) {

    // creating a list with strings.
    List<String> list = Arrays.asList("One", "Two", "Three", "Four", "Five");

    // using java 8 Collectors.joining with delimiter, prefix and suffix
    String joiningString = StringUtils.join(list, "^");

    // printing
    System.out.println("StringUtils.join string with ^ delimiter : "+joiningString);

    String joiningString3 = StringUtils.join(list, "$");

    // printing
    System.out.println("StringUtils.join string with @ separator : "+joiningString3);
    }
}

输出:
StringUtils.join string with ^ delimiter : One^Two^Three^Four^Five
StringUtils.join string with @ separator : One$Two$Three$Four$Five

结论

在本文中,我们已经看到了在 java 8 之前和之后如何使用不同的方法在 java 中将 List 转换为 String。对给定的分隔符使用 String.join() 方法从 List 生成字符串是很好的。或者,如果您想添加前缀或后缀,请使用带有分隔符、前缀和后缀值的流 api Collectors.joining() 方法。

以上就是Java中将List列表转换为字符串的三种方法的详细内容,更多关于Java List列表转字符串的资料请关注脚本之家其它相关文章!

相关文章

  • 详解Spring Boot 使用Java代码创建Bean并注册到Spring中

    详解Spring Boot 使用Java代码创建Bean并注册到Spring中

    本篇介绍了Spring Boot 使用Java代码创建Bean并注册到Spring中,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • SpringBoot中condition注解的使用方式

    SpringBoot中condition注解的使用方式

    这篇文章主要介绍了SpringBoot中condition注解的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Postman form-data、x-www-form-urlencoded的区别及说明

    Postman form-data、x-www-form-urlencoded的区别及说明

    这篇文章主要介绍了Postman form-data、x-www-form-urlencoded的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • 基于javaweb+jsp的游泳馆会员管理系统(附源码)

    基于javaweb+jsp的游泳馆会员管理系统(附源码)

    这篇文章主要介绍了基于javaweb+jsp的游泳馆会员管理系统,开发工具eclipse/idea/myeclipse/sts等均可配置运行,此源代码社和课程设计,大作业及毕业设计项目,需要的朋友可以参考下
    2022-04-04
  • Java Hutool(糊涂)工具类索引详解

    Java Hutool(糊涂)工具类索引详解

    这篇文章主要介绍了Java Hutool(糊涂)工具类索引,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Java使用POI将多个Sheet合并为一个Sheet

    Java使用POI将多个Sheet合并为一个Sheet

    这篇文章主要为大家详细介绍了Java使用POI将多个Sheet合并为一个Sheet,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 关于MyBatis各种SQL操作详解

    关于MyBatis各种SQL操作详解

    这篇文章主要介绍了关于MyBatis各种SQL操作详解,MyBatis 是一款优秀的半自动的ORM持久层框架,它支持自定义 SQL、存储过程以及高级映射,需要的朋友可以参考下
    2023-05-05
  • Spring Boot文件上传原理与实现详解

    Spring Boot文件上传原理与实现详解

    这篇文章主要介绍了Spring Boot 文件上传原理与实现详解,前端文件上传是面向多用户的,多用户之间可能存在上传同一个名称、类型的文件;为了避免文件冲突导致的覆盖问题这些应该在后台进行解决,需要的朋友可以参考下
    2024-01-01
  • springboot整合Nacos组件环境搭建和入门案例详解(最新推荐)

    springboot整合Nacos组件环境搭建和入门案例详解(最新推荐)

    本文介绍了Nacos的基础概念、关键特性、专业术语和生态圈,如何在Windows环境下搭建Nacos单个服务,以及如何整合SpringBoot2来使用Nacos进行服务注册和配置管理,感兴趣的朋友一起看看吧
    2025-03-03
  • Java入门之集合框架详解

    Java入门之集合框架详解

    本文介绍了Java集合框架体系结构,包括List、Set和Map接口及其常用实现类,重点讲解了ArrayList、LinkedList、HashSet、TreeSet和HashMap等类的使用方法,并详细介绍了泛型的定义和作用,最后,还讨论了集合的遍历和并发修改异常处理
    2025-01-01

最新评论