Java字符串逗号分割转换教程:从字符串到集合与数组的详细代码示例

java逗号分隔String字符串及数组、集合相互转换

Java字符串逗号分割转换教程:从字符串到集合与数组的详细代码示例

更新时间为 2024 年 02 月 17 日 10 时 12 分 51 秒,作者是菜鸟笔记本。

我们在日常开发中会时常碰到把一个字符串依据逗号来进行分割的情况。这篇文章主要向大家讲述了关于 java 中用逗号分隔 String 字符串以及数组、集合相互转换的相关资料。文中给出了细致的代码示例。有需要的朋友可以参考一下。

目录

1. 准备一个逗号分割字符串

String str = "小张,小王,小李,小赵";

逗号分割的字符串会先转换为数组,然后再转换为集合。

先用 split 这个方法把字符串按照逗号进行分割,得到一个数组。接着使用 Arrays.asList 这个方法把分割得到的数组转换为一个集合。
List通过 str.split(",") 方法将字符串 str 进行分割,然后将分割后的结果转换为列表,这个列表被存储在 strList1 中。
// 第二种:使用stream转换String集合
List通过对字符串 str 进行以逗号为分隔符的分割操作,得到一个字符串数组。然后使用 Arrays 类的 stream 方法将该字符串数组转换为流。最后,通过 Collectors.toList()方法将流中的元素收集到一个列表中,并将结果赋值给 strList2。
第三种:使用 stream 来转换 int 集合,这种情况适用于字符串是以逗号分隔且类型为 int 的类型。
List使用逗号将字符串分割成数组,然后对数组中的每个元素进行整数解析,最后将解析后的整数收集到列表中。具体来说,首先通过`Arrays.stream(str.split(","))`将字符串按照逗号分割成流,接着使用`map(Integer::parseInt)`将流中的每个元素转换为整数,最后通过`collect(Collectors.toList())`将转换后的整数收集到一个列表中。
// 第四种:使用Guava的SplitterString
ListstrList3 是通过 Splitter 以逗号为分隔符进行分割,并去除结果两端空格后得到的列表,该列表是由字符串 str 分割而成的。
使用 Apache Commons 中的 StringUtils,并且仅用到了它的 split 方法。
ListstrList4 等于通过 Arrays.asList 方法将由 StringUtils.split(str, ",")所分割得到的字符串数组转换为列表。
使用 Spring Framework 中的 StringUtils 这一种方式。  具体来说,就是利用 Spring Framework 所提供的 StringUtils 相关功能。  借助 Spring Framework 中的 StringUtils 来进行相关操作。  通过 Spring Framework 里的 StringUtils 达成特定目的。  运用 Spring Framework 中的 StringUtils 去处理事务。
ListstrList5 是由字符串 str 通过 StringUtils.commaDelimitedListToStringArray 方法转换为逗号分隔的字符串数组后,再转换为列表得到的。

3. 集合转换为逗号分隔的字符串

// 第一种:String.join(), JDK1.8+
使用逗号将 strList1 中的元素连接起来赋值给 str 。
第二种是将集合通过 org.apache.commons.lang3.StringUtils 的 toArray()方法转换为数组。
使用 StringUtils 类将 strList1 转换为数组,然后使用 join 方法将数组元素以逗号分隔连接成字符串,结果赋值给 str 。
// 第三种:需要引入hutool工具包
使用逗号作为连接符,将 strList1 中的元素连接起来,结果赋值给 str 。
第四种是 StringJoiner,在 JDK1.8 及之后的版本中。其输出示例为:START_小张, 小王, 小李, 小赵_END。
创建了一个名为 sj 的 StringJoiner 对象,其分隔符为逗号。
对于 strList1 中的每个元素 e,将其对应的字符串形式添加到 sj 中。即遍历 strList1 中的每一个元素 e,然后把 e 转换为字符串形式后添加到 sj 里。
// 在上面已经处理为逗号拼接的字符串,下面为补充
// 在连接之前操作字符串, 拼接前缀和后缀
创建了一个名为 sj2 的 StringJoiner 对象,使用逗号作为分隔符,起始部分为"START_",结束部分为"_END"。
对于 strList1 中的每个元素 e,将 e 转换为字符串后添加到 sj2 中。
第五种是使用 Stream 和 Collectors.joining(),这是在 JDK1.8 及之后的版本中使用的。
通过 strList1 的流进行操作,然后使用 Collectors 的 joining 方法,以逗号作为连接符,将其收集起来,最终得到的结果赋值给 str 。
在进行连接操作之前处理字符串,将前缀和后缀进行拼接。输出示例为:START_小张,小王,小李,小赵_END
使用 strList1 的流,对每个元素 e 进行映射操作,即执行以下操作:
如果 e 不为空,则返回 e 转换为大写后的结果。
    else return "null";
将其收集起来并使用 Collectors.joining(",", "START_", "_END") 进行连接。
// 第六种:使用Spring Framework的StringUtils
StringUtils 将 strList1 转换为用逗号分隔的字符串,结果赋值给 str 。

4. 数组转逗号分隔字符串

String 类型的数组 arr 等于将 strList1 转换为数组后的结果,且该数组的元素类型为 String 。
// 第一种:使用StringUtils的join方法
使用 StringUtils 类的 join 方法,将数组 arr 以逗号分隔后进行拼接,得到的结果赋值给 str 。
使用 ArrayUtils 的 toString 方法,这种方式转换后的字符串首尾会加上大括号,输出示例为:{小张,小王,小李,小赵}
使用 ArrayUtils 类的 toString 方法,将数组 arr 以逗号分隔的形式转换为字符串。

补充:将一个Java字符串按逗号分割成一个列表(List)

使用 Java 的 split()方法能把字符串分割成字符串数组,接着可以把这个数组转换成列表。以下是一个示例代码:

import java.util.Arrays;
import java.util.List;
public class Main {
public 静态方法 main,参数为 String 类型的数组 args。
str 是 "apple,banana,orange" 这样的字符串。
        List通过 str.split(",") 操作得到的结果被转换为一个列表,这个列表就是 list,它是由 Arrays.asList 方法创建的。
        System.out.println(list);
    }
}

输出

[apple, banana, orange]

在上述代码里,我们借助 split(",")这个方法把字符串 str 通过逗号给分割成一个字符串数组。接着,运用 Arrays.asList()方法把该数组转化为列表。最终,我们将列表的内容进行打印输出。

请注意,Arrays.asList()方法所返回的是一个具有固定大小的列表,此列表不具备添加或删除操作的能力。倘若需要进行修改操作,那么可以将其转换为 ArrayList,具体如下所示:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Main {
    public static void main(String[] args) {
        String str = "apple,banana,orange";
        List list = new ArrayList<>将字符串 str 按照逗号进行分割,然后将分割后的结果转换为列表,即 Arrays.asList(str.split(","))。
        System.out.println(list);
    }
}

总结

这篇关于 java 逗号分隔 String 字符串及数组、集合相互转换的文章到这里就介绍完毕了。如果想了解更多相关 java 逗号分隔 String 字符串的内容,可以搜索脚本之家以前的文章,或者继续浏览下面的相关文章。希望大家以后能多多支持脚本之家!

你可能想看:
« 上一篇
下一篇 »

相关推荐

java中什么是冒泡,冒泡算法

2026年09月06日

27阅读

java中冒号,java双冒号

2026年09月06日

24阅读

java中的->,java中的是什么意思

2026年09月06日

24阅读

java中的super用法,Java中super的说明

2026年09月06日

27阅读

java中反射的应用,java中反射的应用场景

2026年09月06日

23阅读

java中开关的定义,Java关键字有哪些

2026年09月06日

25阅读