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

在Java中,String、List 和数组(如 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

你可以使用StringBuilder或String.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 转数组

你可以使用List的toArray方法将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返回的列表时,请注意它返回的列表是固定大小的,不支持add或remove操作(会抛出UnsupportedOperationException)。
相关推荐
考虑考虑1 小时前
nginx路由重写
运维·后端·自动化运维
曹牧1 小时前
C#:空合并运算符
java·前端·数据库
布吉岛的石头2 小时前
Java 程序员第 50 阶段2:预训练的目标函数:自回归语言建模本质
java·开发语言·人工智能·深度学习·回归·transformer
golang学习记2 小时前
IDEA 2026年的玩法已经完全不同
java·ide·intellij-idea
JaguarJack2 小时前
PHP 紧急修复两项严重 RCE 漏洞,8.2 至 8.5 用户应立即升级
后端·php·服务端
BingoGo2 小时前
PHP 紧急修复两项严重 RCE 漏洞,8.2 至 8.5 用户应立即升级
后端·php
紧跟先前的步伐2 小时前
Go AI Agent 实战 05|Temperature 与生成参数:让模型输出可控
java·人工智能·golang
金銀銅鐵2 小时前
[Java] 展示添加元素时 ArrayList 的内部变化
java·后端·ai编程
斌糖雪梨3 小时前
spring auth 核心流程详解
java·后端·spring
高频因子挖掘机4 小时前
本地已有一年历史数据,第二天更新别只拉“昨天一天”:量化 K 线增量同步实践
后端·github·api