Java8中List转换String字符串几种方式

 更新时间:2023年07月24日 16:08:43   作者:`倔强男孩`  
这篇文章主要给大家介绍了关于Java8中List转换String字符串的几种方式,在实际开发中经常遇到List转为String字符串的情况,文中给出了几种方法的示例代码,需要的朋友可以参考下

1、传统循环并拼接的方式

@Test
public void ListToString() {
        List<String> list = Arrays.asList("张三", "李四", "王五", "赵六");
        StringBuilder builder = new StringBuilder();
        for (int i = 0; i < list.size(); i++) {
            builder.append(list.get(i));
            builder.append(",");
        }
        String substring = builder.substring(0, builder.length() - 1);
        System.out.println("String.join() 转化后的字符串 : " + substring);
    }
// 输出
String.join() 转化后的字符串 : 张三,李四,王五,赵六

2、Java8 String.join() 

StringUtils.join() 和 String.join()用途:将数组或集合以某拼接符拼接到一起形成新的字符串。

这里和StringUtils.join()有区别,参数顺序不一样,另外,StringUtils.join()可以传入Integer或者其他类型的集合或数组,而String.join()尽可以传入实现charSequence接口类型的集合或数组。如果是字符串类型的集合或数组推荐使用String.join()

@Test
public void ListToString() {
    // 构造list
    List<String> list = Arrays.asList("张三", "李四", "王五", "赵六");
    String str = String.join(",", list);// StringUtils.join(list, ",");
    System.out.println("String.join() 转化后的字符串 : " + str);
 }
// 输出
String.join() 转化后的字符串 : 张三,李四,王五,赵六

3、Java8 Collctors.joining()

将分隔符、前缀和后缀作为参数。此方法将列表转换为具有给定分隔符、前缀和后缀的字符串。

@Test
public void ListToString() {
    // 构造list
    List<String> list = Arrays.asList("张三", "李四", "王五", "赵六");
    // 以逗号分隔,带前缀后缀
    String str1 = list.stream().collect(Collectors.joining(",", "{", "}"));
    System.out.println("Collectors.joining 带前缀后缀 : " + str1);
    // 以@分隔,不带前缀后缀
    String str2 = list.stream().collect(Collectors.joining("@"));
    System.out.println("Collectors.joining 不带前缀后缀 : " + str2);
}
// 输出
Collectors.joining 带前缀后缀 : {张三,李四,王五,赵六}
Collectors.joining 不带前缀后缀 : 张三@李四@王五@赵六

总结 

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

相关文章

  • Java Lambda List转Map代码实例

    Java Lambda List转Map代码实例

    这篇文章主要介绍了Java Lambda List转Map代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • java分布式缓存方案

    java分布式缓存方案

    本文简单介绍了缓存的种类,缓存常见的问题,对大家的学习和工作有一定的参考价值,需要的小伙伴可以参考一下
    2021-08-08
  • Java编写查看调用栈信息的工具类

    Java编写查看调用栈信息的工具类

    大家在开发项目的过程中,应该经常会需要分析调用栈信息,所以这里本文主要来和大家分享一个调用栈打印的Java工具类,希望对大家有所帮助
    2025-08-08
  • 基于java中集合的概念(详解)

    基于java中集合的概念(详解)

    下面小编就为大家带来一篇基于java中集合的概念(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • J2EE Servlet基础在浏览器上运行HelloServlet的方法

    J2EE Servlet基础在浏览器上运行HelloServlet的方法

    这篇文章主要介绍了J2EE Servlet基础在浏览器上运行HelloServlet的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 一文了解Seata的实现原理

    一文了解Seata的实现原理

    随着业务发展,单体系统逐渐无法满足业务的需求,分布式架构逐渐成为大型互联网平台首选。伴随而来的问题是,本地事务方案已经无法满足,分布式事务相关规范和框架应运而生。本文主要介绍Seata的实现原理
    2021-06-06
  • Java递归简单实现n的阶乘

    Java递归简单实现n的阶乘

    这篇文章主要介绍了Java递归简单实现n的阶乘,递归(recursion)就是子程序(或函数)直接调用自己或通过一系列调用语句间接调用自己,是一种描述问题和解决问题的基本方法,下面我们举一个小小的例子详情了解一下,需要的朋友可以参考下
    2021-12-12
  • 深度优先与广度优先Java实现代码示例

    深度优先与广度优先Java实现代码示例

    这篇文章主要介绍了深度优先与广度优先Java实现代码示例,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • Springboot项目启动成功后可通过五种方式继续执行

    Springboot项目启动成功后可通过五种方式继续执行

    本文主要介绍了Springboot项目启动成功后可通过五种方式继续执行,主要包括CommandLineRunner接口,ApplicationRunner接口,ApplicationListener接口,@PostConstruct注解,InitalizingBean接口,感兴趣的可以了解一下
    2023-12-12
  • spring mvc 和ajax异步交互完整实例代码

    spring mvc 和ajax异步交互完整实例代码

    本篇文章主要介绍了spring mvc 和ajax异步交互完整实例代码,简单的AJAX+SpringMVC的异步交互小例子,有兴趣的可以了解一下。
    2017-02-02

最新评论