Java之字符串分割转换List

Java之字符串分割转换List

字符串分割成数组然后转换成List有多种方式,以下是每种方式的示例,推荐Java8的新特性Stream。

使用Java8的新特性Stream API

java 复制代码
String str = "aaa,bbb,ccc";  
// 使用Arrays.stream()  
List<String> list1 = Stream.of(str.split(",")).collect(Collectors.toList());  

// 使用Pattern.compile()与splitAsStream()  
List<String> list2 = Pattern.compile(",").splitAsStream(str).collect(Collectors.toList());  	

Arrays.asList()方法

java 复制代码
String str = "aaa,bbb,ccc";  
List<String> list = Arrays.asList(str.split(","));

//注意:Arrays.asList()返回的List是固定大小的,不支持添加或删除元素。
//如果需要可变的List,可以将其转换为ArrayList。
List<String> mutableList = new ArrayList<>(Arrays.asList(str.split(",")));

Guava库

1,maven添加依赖

xml 复制代码
<!-- Maven依赖 -->  
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>33.3.1-jre</version>
</dependency>

2,java代码

java 复制代码
String str = "aaa,bbb,ccc";
Iterable<String> iterable = Splitter.on(',').trimResults().split(str);  
List<String> list = Lists.newArrayList(iterable);

Apache Commons Lang库

1,maven添加依赖

xml 复制代码
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.17.0</version>
</dependency>

2,java代码

java 复制代码
String str = "aaa,bbb,ccc";
String[] array = StringUtils.split(str, ',');  
List<String> list1 = Arrays.asList(array); // 固定大小的List  
// 或者  
List<String> list2 = new ArrayList<>(Arrays.asList(array)); //可变的List  
相关推荐
没有bug.的程序员6 分钟前
服务安全:内部服务如何防止“裸奔”?
java·网络安全·云原生安全·服务安全·零信任架构·微服务安全·内部鉴权
一线大码23 分钟前
SpringBoot 3 和 4 的版本新特性和升级要点
java·spring boot·后端
YJlio36 分钟前
VolumeID 学习笔记(13.10):卷序列号修改与资产标识管理实战
windows·笔记·学习
weixin_4407305037 分钟前
java数组整理笔记
java·开发语言·笔记
weixin_4250230040 分钟前
Spring Boot 实用核心技巧汇总:日期格式化、线程管控、MCP服务、AOP进阶等
java·spring boot·后端
一线大码1 小时前
Java 8-25 各个版本新特性总结
java·后端
2501_906150561 小时前
私有部署问卷系统操作实战记录-DWSurvey
java·运维·服务器·spring·开源
better_liang1 小时前
每日Java面试场景题知识点之-TCP/IP协议栈与Socket编程
java·tcp/ip·计算机网络·网络编程·socket·面试题
niucloud-admin2 小时前
java服务端——controller控制器
java·开发语言
To Be Clean Coder2 小时前
【Spring源码】通过 Bean 工厂获取 Bean 的过程
java·后端·spring