在Java中如何使用Collectors.joining拼接字符串集合

Collectors.joining用于将流中元素拼接为字符串,支持分隔符、前缀和后缀;如List转字符串用逗号分隔,可加中括号生成数组格式,无参时直接拼接,空集合返回空字符串。

在Java中,Collectors.joining 是一个非常实用的收集器,用于将流中的元素拼接成一个字符串。它常用于处理字符串集合(如 List)的合并操作,支持指定分隔符、前缀和后缀。

基本用法:使用分隔符拼接字符串

最简单的用法是传入一个分隔符,将集合中的每个元素连接起来。

List words = Arrays.asList("Java", "Python", "C++");
String result = words.stream()
                     .collect(Collectors.joining(", "));
System.out.println(result); // 输出:Java, Python, C++

进阶用法:添加前缀和后缀

除了分隔符,你还可以指定拼接后的字符串的前缀和后缀,比如生成SQL中的IN条件或JSON数组的一部分。

List items = Arrays.asList("apple", "banana", "cherry");
String formatted = items.stream()
                        .collect(Collectors.joining(", ", "[", "]"));
System.out.println(formatted); // 输出:[apple, banana, cherry]

不使用分隔符的拼接

如果希望直接拼接所有字符串而不加任何分隔符,可以调用无参的 joining() 方法。

List parts = Arrays.asList("Hello", "World");
String joined = parts.stream()
                     .c

ollect(Collectors.joining()); System.out.println(joined); // 输出:HelloWorld

基本上就这些。Collectors.joining 简洁高效,适合大多数字符串拼接场景,尤其在处理Stream时非常自然。注意输入集合为空时,返回的是空字符串,不会报错,使用起来很安全。