Java将List转换为String的几种方式

 更新时间:2023年05月30日 14:40:45   作者:prince05  
我们大家在实际开发中经常遇到List转为String字符串的情况,下面这篇文章主要给大家介绍了关于Java将List转换为String的几种方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

将 List 转换为 String的几种方式

1、使用toString()方法将 List 转换为 String

2、使用Java 8 Streams Collectors api和String.join()方法将带有逗号分隔符或自定义分隔符的集合转换为字符串。

3、 apache 库命令StringUtils.join()方法。

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

使用标准 toString() 方法

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

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

/**
 * Example to convert List to string using toString() method.
 * 
 * @author javaprogramto.com
 *
 */
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~FiveString 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将List转换为String的几种方式的文章就介绍到这了,更多相关Java List转换String内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot实现不同用户不同访问权限的示例代码

    SpringBoot实现不同用户不同访问权限的示例代码

    这篇文章主要介绍了在SpringBoot中使用SpringSecurity实现基于角色的权限控制,涵盖依赖添加、数据库设计、实体类与Repository接口、UserDetailsService实现、安全配置、控制器创建及测试数据准备,并提及@PreAuthorize注解与角色继承配置,需要的朋友可以参考下
    2025-07-07
  • java基本教程之java线程等待与java唤醒线程 java多线程教程

    java基本教程之java线程等待与java唤醒线程 java多线程教程

    这篇文章主要介绍了对线程等待/唤醒方法,文中使用了多个示例,大家参考使用吧
    2014-01-01
  • 二代身份证验证示例

    二代身份证验证示例

    这篇文章主要介绍了二代身份证验证示例,需要的朋友可以参考下
    2014-02-02
  • java中json和对象之间相互转换的运用

    java中json和对象之间相互转换的运用

    本文主要介绍了java中json和对象之间相互转换的运用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 将Java(SpringBoot)项目打包为Docker镜像的三种方法

    将Java(SpringBoot)项目打包为Docker镜像的三种方法

    这篇文章主要介绍了将Java(SpringBoot)项目打包为Docker镜像的三种方法,分别是手动构建、使用Dockerfile和使用SpringBootMaven插件,每种方法都有其特点和适用场景,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-03-03
  • Java Comparator.comparing比较导致空指针异常的解决

    Java Comparator.comparing比较导致空指针异常的解决

    这篇文章主要介绍了Java Comparator.comparing比较导致空指针异常的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Java实现二分查找树及其相关操作

    Java实现二分查找树及其相关操作

    二分查找树是一种有组织的二叉树。我们可以通过链接节点表示这样一棵树,二分查找树(Binary Search Tree)的基本操作有搜索、求最大值、求最小值、求前驱、求后继、插入及删除,对java二分查找树相关知识感兴趣的朋友一起看看吧
    2021-07-07
  • IDEA的spring项目使用@Qualifier飘红问题及解决

    IDEA的spring项目使用@Qualifier飘红问题及解决

    这篇文章主要介绍了IDEA的spring项目使用@Qualifier飘红问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • SpringBoot中配置Web静态资源路径的方法

    SpringBoot中配置Web静态资源路径的方法

    这篇文章主要介绍了SpringBoot中配置Web静态资源路径的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 分布式调度XXL-Job整合Springboot2.X实战操作过程(推荐)

    分布式调度XXL-Job整合Springboot2.X实战操作过程(推荐)

    这篇文章主要介绍了分布式调度XXL-Job整合Springboot2.X实战操作,包括定时任务的使用场景和常见的定时任务,通过本文学习帮助大家该选择哪个分布式任务调度平台,对此文感兴趣的朋友一起看看吧
    2022-04-04

最新评论