List与String相互转化的方法有哪些

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 摘要:本文概述了Java中List转换为String及反之的多种策略。使用`String.join()`可简洁地连接List元素;`StringBuilder`提供灵活控制;Java 8 Stream API收集器简化操作;Apache Commons Lang3的`StringUtils.join()`和Guava的`Joiner.on()`支持外部库的高效转换。

List转化为String

下面总结了List转化为String的几种常见的方法,并使用逗号进行分割。

使用String.join()方法

Java 8引入了String.join()方法,可以将数组或集合以指定的分隔符连接起来形成新的字符串。

ini

代码解读

复制代码

List<String> list = Arrays.asList("aa", "bb", "cc");
String str = String.join(",", list);

使用StringBuilder

ini

代码解读

复制代码

List<String> list = Arrays.asList("aa", "bb", "cc");
        StringBuilder sb = new StringBuilder();
        for (String s : list) {
            sb.append(s).append(",");
        }
String str = sb.deleteCharAt(sb.length() - 1).toString();

使用Java 8的Stream API

ini

代码解读

复制代码

List<String> list = Arrays.asList("aa", "bb", "cc");
String str = list.stream().collect(Collectors.joining(","));

使用Apache Commons Lang3的StringUtils.join()方法

Apache Commons Lang3提供了StringUtils.join()方法,可以将数组或集合以指定的分隔符连接起来形成新的字符串。

引入依赖包:

xml

代码解读

复制代码

<dependency>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-lang3</artifactId>
    <version>3.9</version>
</dependency>

ini

代码解读

复制代码

List<String> list = Arrays.asList("aa", "bb", "cc");
String str = StringUtils.join(list, ",");

使用Guava的Joiner.on()方法

引入依赖包:

xml

代码解读

复制代码

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>19.0</version>
</dependency>

ini

代码解读

复制代码

List<String> list = Arrays.asList("aa", "bb", "cc");
String str = Joiner.on(",").join(list);

String转化为List

使用split()方法

String类提供了split()方法,可以根据指定的分隔符将字符串分割成字符串数组。然后,可以使用Arrays.asList()方法将字符串数组转换为List。

ini

代码解读

复制代码

String str = "a,b,c";
String[] strs = str.split(",");
List<String> list = Arrays.asList(strs);

使用正则表达式

可以使用正则表达式来匹配字符串中的分隔符,然后将匹配到的字符串分割成List。

ini

代码解读

复制代码

String str = "a,b,c";
List<String> list = Pattern.compile(",").splitAsStream(str).collect(Collectors.toList());

使用Apache Commons Lang3的StringUtils.split()方法

Apache Commons Lang3提供了StringUtils.split()方法,可以根据指定的分隔符将字符串分割成字符串数组。然后,可以使用Arrays.asList()方法将字符串数组转换为List。

引入依赖包:

xml

代码解读

复制代码

<dependency>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-lang3</artifactId>
    <version>3.9</version>
</dependency>

ini

代码解读

复制代码

String str = "a,b,c";
String[] strs = StringUtils.split(str, ",");
List<String> list = Arrays.asList(strs);

使用Guava的Splitter.on()方法

Guava提供了Splitter.on()方法,可以根据指定的分隔符将字符串分割成字符串数组。然后,可以使用Lists.newArrayList()方法将字符串数组转换为List。

引入依赖包:

xml

代码解读

复制代码

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>19.0</version>
</dependency>

ini

代码解读

复制代码

String str = "a,b,c";
List<String> list = Splitter.on(",").splitToList(str);


转载来源:https://juejin.cn/post/7349327791555854348

相关文章
|
16天前
for循环和String类下方法的一个练习题
for循环和String类下方法的一个练习题
42 1
|
9天前
|
JavaScript 算法 前端开发
JS算法必备之String常用操作方法
这篇文章详细介绍了JavaScript中字符串的基本操作,包括创建字符串、访问特定字符、字符串的拼接、位置查找、大小写转换、模式匹配、以及字符串的迭代和格式化等方法。
JS算法必备之String常用操作方法
|
9天前
|
XML Java API
List与String相互转化方法汇总
本文汇总了List与String相互转化的多种方法,包括使用`String.join()`、`StringBuilder`、Java 8的Stream API、Apache Commons Lang3的`StringUtils.join()`以及Guava的`Joiner.on()`方法实现List转String;同时介绍了使用`split()`方法、正则表达式、Apache Commons Lang3的`StringUtils.split()`及Guava的`Splitter.on()`方法实现String转List。
List与String相互转化方法汇总
|
18天前
|
Java API 索引
【Java基础面试二十四】、String类有哪些方法?
这篇文章列举了Java中String类的常用方法,如`charAt()`、`substring()`、`split()`、`trim()`、`indexOf()`、`lastIndexOf()`、`startsWith()`、`endsWith()`、`toUpperCase()`、`toLowerCase()`、`replaceFirst()`和`replaceAll()`,并建议面试时展示对这些方法的熟悉度,同时深入理解部分方法的源码实现。
【Java基础面试二十四】、String类有哪些方法?
|
25天前
|
数据安全/隐私保护
作用域通信对象:session用户在登录时通过`void setAttribute(String name,Object value)`方法设置用户名和密码。点击登录按钮后,跳转到另外一个页面显示用户
该博客文章通过示例演示了如何使用session对象的`setAttribute`和`getAttribute`方法在不同页面间传递和显示用户的用户名和密码信息,并说明了如何设置会话的有效期。
作用域通信对象:session用户在登录时通过`void setAttribute(String name,Object value)`方法设置用户名和密码。点击登录按钮后,跳转到另外一个页面显示用户
|
8天前
|
Java
用JAVA架建List集合为树形结构的代码方法
这段代码定义了一个表示树形结构的 `Node` 类和一个用于构建树形结构的 `TreeController`。`Node` 类包含基本属性如 `id`、`pid`、`name` 和 `type`,以及子节点列表 `children`。`TreeController` 包含初始化节点列表并将其转换为树形结构的方法。通过过滤和分组操作实现树形结构的构建。详情可见:[代码示例链接1](http://www.zidongmutanji.com/zsjx/43551.html),[代码效果参考链接2](https://www.257342.com/sitemap/post.html)。
23 5
|
17天前
|
Java 索引
Java系列之 String indexOf() 方法
文章详细介绍了Java中`String`类的`indexOf()`方法的四种不同形式及其用法,包括查找字符和子字符串在字符串中的索引,并提供了相应的实例代码和输出结果。
|
2月前
|
Java
Java中将保留四位小数的Double转换为String的方法详解
选择合适的方法,可以使代码更加简洁、高效,同时也能满足不同场景下的需求。
31 5
|
2月前
|
前端开发 Java 项目管理
List.of 问题之使用List.of方法为什么会引发前端解析失败的问题,如何解决
List.of 问题之使用List.of方法为什么会引发前端解析失败的问题,如何解决
|
23天前
|
Dragonfly Dart NoSQL
Dart ffi 使用问题之在Dart中调用String的toNativeUtf8方法时有什么是需要注意的
Dart ffi 使用问题之在Dart中调用String的toNativeUtf8方法时有什么是需要注意的