List转变为逗号分隔的String(Java7和Java8分别实现)

需求:Arrays.asList("AA", "BB") --> "AA,BB"

In Java 8

采用stream的方式

List<String> strList = Arrays.asList("AA", "BB", "CC");
String newStr = strList.stream().collect(Collectors.joining(","));
System.out.println("Output:" + newStr); // Output:AA,BB,CC

使用String.join()函数,给函数传递一个分隔符合一个迭代器,StringJoiner对象会帮助我们完成所有的事情

String newStr = String.join(",", strList);
System.out.println("Output:" + newStr); // Output:AA,BB,CC

In Java 7

Java 7的实现方法

List<String> strList = Arrays.asList("AA", "BB", "CC");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < strList.size(); i++) {
    if (i != 0) {
        sb.append(",");
    }
    sb.append(strList.get(i));
}
System.out.println("Output:" + sb.toString()); // Output:AA,BB,CC

list和以逗号分割的String相互转换(guava)

import com.alibaba.fastjson.JSON;
import com.google.common.base.Joiner;
import com.google.common.collect.Lists;
import com.google.common.base.Splitter;
        List<String> list = Lists.newArrayList("a","b","c"," ");
        String s = Joiner.on(",").join(list); // 以逗号分割
        System.out.println(s); // a,b,c, 
        Splitter split = Splitter.on(',').trimResults().omitEmptyStrings(); // 去前后空格&&去空string
        List<String> list1 = split.splitToList(s);
        System.out.println(JSON.toJSONString(list1)); // ["a","b","c"]

以上为个人经验,希望能给大家一个参考。

猜你在找的List转变为逗号分隔的String(Java7和Java8分别实现)相关文章

Semaphore一般译作信号量,它也是一种线程同步工具,主要用于多个线程对共享资源进行并行操作的一种工具类。它代表了一种许可的概念,是否允许多线程对同一资源进行操
今天给大家带来的是关于Java的相关知识,文章围绕着Java常见的排序算法展开,文中有非常详细的介绍及代码示例,需求的大佬可以参考下
TCP是一种传输控制协议,是面向连接的、可靠的、基于字节流之间的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,TCP完成第四层传输层所指定的功
今天给大家带来的是关于Java的相关知识,文章围绕着Java如何实现树的同构展开,文中有非常详细的介绍及代码示例,需求的大佬可以参考下
本文主要介绍了MyBatis-Plus 使用枚举自动关联注入,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起
本文主要介绍了MyBatis-Plus通用枚举自动关联注入的实现,解决了繁琐的配置,让 mybatis 优雅的使用枚举属性,感兴趣的可以一起来了解一下
了SpringBoot集成Redis,并自定义对象序列化操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
为了方便邮件发送功能的使用,我们用邮件发送功能实现用户注册,实现步骤大概就是进行用户注册同时发送一封激活邮件,邮件里附带激活链接,关于Springboot发送邮件注册激
今天给大家带来的是关于Java的相关知识总结,文章围绕着Java循环队列与非循环队列的区别展开,文中有非常详细的介绍及代码示例,需求的大佬可以参考下
此篇文章主要介绍了AtomicReference的出现背景,AtomicReference的使用场景,以及介绍了AtomicReference的源码,重点方法的源码分析
了springboot初始化执行sql语句的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Nacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。本章节重点给大家介绍SpringCloud Alibaba项目