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相互转化方法汇总

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

相关文章
|
4月前
for循环和String类下方法的一个练习题
for循环和String类下方法的一个练习题
55 1
|
2月前
|
Java
【编程基础知识】(讲解+示例实战)方法参数的传递机制(值传递及地址传递)以及String类的对象的不可变性
本文深入探讨了Java中方法参数的传递机制,包括值传递和引用传递的区别,以及String类对象的不可变性。通过详细讲解和示例代码,帮助读者理解参数传递的内部原理,并掌握在实际编程中正确处理参数传递的方法。关键词:Java, 方法参数传递, 值传递, 引用传递, String不可变性。
58 1
【编程基础知识】(讲解+示例实战)方法参数的传递机制(值传递及地址传递)以及String类的对象的不可变性
|
24天前
|
JavaScript 前端开发 开发者
|
3月前
|
存储 JSON NoSQL
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
这篇文章是关于Redis基本数据结构的学习笔记,包括了String、Hash、Set、List和SortedSet的介绍和常用命令。文章解释了每种数据结构的特点和使用场景,并通过命令示例演示了如何在Redis中操作这些数据结构。此外,还提供了一些练习示例,帮助读者更好地理解和应用这些数据结构。
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
|
3月前
|
JavaScript 前端开发 API
javaScript中常用的String方法以及注意点总结
本文总结了JavaScript中常用的String对象的方法及其注意事项,包括大小写转换、字符获取、子字符串截取、字符串拼接、去除空格、替换、分割以及查找字符串中字符的索引等操作。提供了每种方法的使用示例代码,帮助理解它们的具体用法和差异。
40 2
|
4月前
|
JavaScript 算法 前端开发
JS算法必备之String常用操作方法
这篇文章详细介绍了JavaScript中字符串的基本操作,包括创建字符串、访问特定字符、字符串的拼接、位置查找、大小写转换、模式匹配、以及字符串的迭代和格式化等方法。
JS算法必备之String常用操作方法
|
4月前
|
Java API 索引
【Java基础面试二十四】、String类有哪些方法?
这篇文章列举了Java中String类的常用方法,如`charAt()`、`substring()`、`split()`、`trim()`、`indexOf()`、`lastIndexOf()`、`startsWith()`、`endsWith()`、`toUpperCase()`、`toLowerCase()`、`replaceFirst()`和`replaceAll()`,并建议面试时展示对这些方法的熟悉度,同时深入理解部分方法的源码实现。
【Java基础面试二十四】、String类有哪些方法?
|
4月前
|
数据安全/隐私保护
作用域通信对象:session用户在登录时通过`void setAttribute(String name,Object value)`方法设置用户名和密码。点击登录按钮后,跳转到另外一个页面显示用户
该博客文章通过示例演示了如何使用session对象的`setAttribute`和`getAttribute`方法在不同页面间传递和显示用户的用户名和密码信息,并说明了如何设置会话的有效期。
作用域通信对象:session用户在登录时通过`void setAttribute(String name,Object value)`方法设置用户名和密码。点击登录按钮后,跳转到另外一个页面显示用户
|
4月前
|
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)。
44 5
|
3月前
|
Java 索引
java基础扫盲-String类常用的方法
java基础扫盲-String类常用的方法