Java List 集合转换为字符串有多种方式,下面介绍其中几种常见的方法。
Collectors.joining() 方法import java.util.List;
import java.util.stream.Collectors;
public class ListToStringExample {
    public static void main(String[] args) {
        List<String> list = List.of("apple", "banana", "orange");
        String result = list.stream()
            .collect(Collectors.joining(", "));
        System.out.println(result); // 输出:apple, banana, orange
    }
}
首先,需要在项目中导入 Apache Commons Lang 库的依赖。如果使用Maven,可以在 pom.xml 文件中添加以下依赖:
<dependencies>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.12.0</version>
    </dependency>
</dependencies>
如果使用 Gradle,可以在 build.gradle 文件中添加以下依赖:
dependencies {
    implementation 'org.apache.commons:commons-lang3:3.12.0'
}
然后,使用 StringUtils 类的 join() 方法将 List 转换为字符串:
import org.apache.commons.lang3.StringUtils;
import java.util.Arrays;
import java.util.List;
public class ListToStringExample {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("apple", "banana", "orange");
        String result = StringUtils.join(list, ", ");
        System.out.println(result); // 输出:apple, banana, orange
    }
}
首先,需要在项目中导入 Google Guava 库的依赖。如果使用 Maven,可以在 pom.xml 文件中添加以下依赖:
<dependencies>
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>30.1-jre</version>
    </dependency>
</dependencies>
如果使用 Gradle,可以在 build.gradle 文件中添加以下依赖:
dependencies {
    implementation 'com.google.guava:guava:30.1-jre'
}
然后,使用 Joiner 类将 List 转换为字符串:
import com.google.common.base.Joiner;
import java.util.Arrays;
import java.util.List;
public class ListToStringExample {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("apple", "banana", "orange");
        String result = Joiner.on(", ").join(list);
        System.out.println(result); // 输出:apple, banana, orange
    }
}
这些方法各有优缺点:
根据具体的使用场景和性能需求,可以选择适合的方法:
关于性能方面的比较,由于具体的测试环境和数据规模可能会有差异,这里只提供一般的观点:
请注意,这些只是常见的方法之一,根据实际情况还可以使用其他方法或自定义实现。