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)。
相关推荐
逍遥德7 分钟前
MQTT教程详解-05.SpringBoot集成mqtt client 性能分析
java·spring boot·spring·mt
云烟成雨TD12 分钟前
Spring AI 1.x 系列【54】Retry 机制分析
java·人工智能·spring
weixin_5231853214 分钟前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
点燃大海15 分钟前
SpringAI构建智能体
java·spring boot·spring·springai智能体
xier_ran17 分钟前
【infra之路】02_RadixAttention与KV_Cache管理
java·spring boot·spring
道一2323 分钟前
Windows系统查看端口占用进程的3种实用方法
windows·笔记
swipe24 分钟前
做多轮对话 Agent,为什么我建议把短期记忆放到 Redis
后端·面试·llm
半条-咸鱼28 分钟前
【INACCESSIBLE_BOOT_DEVICE】安装 Config Tool 后 Windows 蓝屏,最终通过 VMware 虚拟机解决
windows·stm32·vmware·芯片
黑马师兄31 分钟前
RAG混合检索深度解析:让AI真正找到你要的内容
java·人工智能·ai·agent·rag·ai-native
码客日记35 分钟前
Spring Boot 配置文件敏感信息加密(Jasypt 企业级完整方案)
java·spring boot·git