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)。
相关推荐
秋名RG几秒前
Java 异常处理全攻略:从入门到实战(JDK 21 版)
java·开发语言
SQL-First布道者9 分钟前
我为什么把 MyBatis 从项目中删了?
java·spring·tomcat·mybatis·mybatis plus·spring jdbc
苏三说技术12 分钟前
阿里开源了一个神级Agent项目
后端
公爵爱学习13 分钟前
无人机多点导航笔记
java·前端·笔记
萧瑟余晖43 分钟前
Java深入解析篇五十五之Unsafe 机制详解
java
IT_陈寒44 分钟前
Redis莫名连接失败,查了三天居然是配置的锅
前端·人工智能·后端
Thomas214344 分钟前
scala 闭包
开发语言·后端·scala
kakawzw1 小时前
mybatis源码笔记1——JDBC和整体架构
java·mybatis
sunshine22 girl1 小时前
Java学习一 环境配置1 安装JDK,配置环境变量
java·开发语言·学习
秋饼1 小时前
Spring AI Session API 深度实战:从 ChatMemory 平滑迁移到事件溯源的企业级短期记忆
java·ai·技术分享·后端开发