java中String、List、数组之间的转换方式

在Java中,StringList 和数组(如 String[])之间的转换是常见的操作。下面是如何在它们之间进行转换的示例。

1. String 转 List

通常,你不会直接将一个完整的String转换为List,但你可以将包含多个元素的字符串(如由逗号分隔的字符串)分割成多个部分,并将这些部分添加到List中。

java 复制代码
String str = "a,b,c,d";
List<String> list = Arrays.asList(str.split(","));
// 注意:Arrays.asList 返回的列表是固定大小的,如果需要可变列表,请使用 ArrayList
List<String> mutableList = new ArrayList<>(Arrays.asList(str.split(",")));

2. List 转 String

你可以使用StringBuilderString.join方法将List中的元素连接成一个字符串。

java 复制代码
List<String> list = Arrays.asList("a", "b", "c", "d");
String str = String.join(",", list); // 输出 "a,b,c,d"

或者使用StringBuilder

java 复制代码
StringBuilder sb = new StringBuilder();
for (String s : list) {
    if (sb.length() > 0) {
        sb.append(",");
    }
    sb.append(s);
}
String str = sb.toString(); // 输出 "a,b,c,d"

3. List 转数组

你可以使用ListtoArray方法将List转换为数组。

java 复制代码
List<String> list = Arrays.asList("a", "b", "c", "d");
String[] array = list.toArray(new String[0]); // 或者使用 list.toArray(new String[list.size()]);

注意:如果你知道列表的大小,传递一个正确大小的数组给toArray可以提高性能,因为它可以避免额外的数组复制操作。

4. 数组 转 List

你可以使用Arrays.asList方法将数组转换为List。但请注意,返回的列表是固定大小的,如果你需要可变列表,应该将其转换为ArrayList

java 复制代码
String[] array = {"a", "b", "c", "d"};
List<String> list = Arrays.asList(array); // 固定大小的列表
List<String> mutableList = new ArrayList<>(Arrays.asList(array)); // 可变列表

注意事项

  • 当使用Arrays.asList返回的列表时,请注意它返回的列表是固定大小的,不支持addremove操作(会抛出UnsupportedOperationException)。
相关推荐
2401_878820472 分钟前
Sa-Token基础篇
java·spring boot·后端·sa-token
2301_816374335 分钟前
Nginx下构建PC站点
java·运维·nginx
无所事事O_o13 分钟前
JAVA应用不定时卡顿问题排查过程记录
java·优化
覆东流14 分钟前
第10天:python元组
开发语言·后端·python
万事大吉CC15 分钟前
【5】Django 的模板语言:页面架构设计
后端·python·django
蝎子莱莱爱打怪24 分钟前
用好CC,事半功倍!Claude Code 命令大全,黄金命令推荐、多模型配置、实践指南、Hooks 和踩坑记录大全
前端·人工智能·后端
幸福巡礼28 分钟前
【LangChain 1.2 实战(八)】Agent Middleware 实战 —— 动态路由、监控、安全与容错
java·安全·langchain
Byron__1 小时前
Java JVM核心知识点复习笔记
java·jvm·笔记
星栈1 小时前
我用 Rust 给订单系统上了事件溯源
后端
程序员小白条1 小时前
别盲目卷算法!2026 程序员\&大学生,最稳的 AI 技术进阶路线全梳理
java·网络·人工智能·网络协议·http·面试