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)。
相关推荐
Moonbit2 分钟前
安装Wasm版的MoonBit工具链
后端·node.js·webassembly
koko425 分钟前
天津小公司面经
java·学习·面试
法欧特斯卡雷特8 分钟前
从 Kotlin 编译器 API 的变化开始: 2.2.2X -> 2.3.0-Beta1
后端·架构·开源
zjjuejin13 分钟前
Maven 现代开发流程的集成
java·后端·maven
Zzzzmo_24 分钟前
【Java】杨辉三角、洗牌算法
java·数据结构·算法
码界奇点24 分钟前
基于飞算JavaAI的在线图书借阅平台从设计到实现的完整指南
java·飞书
QiZhang | UESTC24 分钟前
JAVA算法练习题day27
java·开发语言·c++·算法·leetcode·hot100
hrrrrb25 分钟前
【Spring Boot】Spring Boot 中常见的加密方案
java·spring boot·后端
Lilian28 分钟前
Trae通过ssh远程访问服务器linux系统不兼容问题
后端·trae
十碗饭吃不饱28 分钟前
sql报错:java.sql.SQLSyntaxErrorException: Unknown column ‘as0‘ in ‘where clause‘
java·数据库·sql